From 925394b1b7f61a2c2a15fdaa0ecd0763214ccda1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 30 五月 2023 18:01:29 +0800
Subject: [PATCH] 增加App报工、工序检验功能
---
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs | 108 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 82 insertions(+), 26 deletions(-)
diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 860ce4e..afe308f 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -58,17 +58,30 @@
{
string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
//鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
- sql = @"select * from (
- select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty from TK_Wrk_Record A
- inner join TK_Wrk_Man P on A.wo_code=P.wo_code
- left join TMateriel_Info M on P.materiel_code=M.partcode
- left join TUom T on M.uom_code=T.code
- left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
- left join (
- select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty from TK_Wrk_Step where isend='Y' group by wo_code
- ) S on P.wo_code=S.wo_code
- where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
- ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
+ //sql = @"select * from (
+ // select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty from TK_Wrk_Record A
+ // inner join TK_Wrk_Man P on A.wo_code=P.wo_code
+ // left join TMateriel_Info M on P.materiel_code=M.partcode
+ // left join TUom T on M.uom_code=T.code
+ // left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
+ // left join (
+ // select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty from TK_Wrk_Step where isend='Y' group by wo_code
+ // ) S on P.wo_code=S.wo_code
+ // where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
+ // ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
+ sql = @"select AA.lm_date,AA.saleOrderCode,AA.wo_code,AA.plan_qty,AA.partcode,AA.partname,AA.partspec,AA.uomname,
+ sum(AA.good_qty) as good_qty,sum(AA.ng_qty)+sum(AA.bad_qty) as ng_qty,sum(AA.bad_qty) as bad_qty
+ from(
+ select P.lm_date,E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,A.good_qty,A.ng_qty,A.bad_qty
+ from TK_Wrk_Record A
+ inner join TK_Wrk_Man P on A.wo_code=P.wo_code
+ left join TMateriel_Info M on P.materiel_code=M.partcode
+ left join TUom T on M.uom_code=T.code
+ left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
+ where P.status<>'CLOSED' and P.status<>'NEW'
+ and P.wkshp_code in @shopcode and DateDiff(dd,P.lm_date,getdate())<=15
+ ) as AA group by AA.lm_date,AA.saleOrderCode,AA.wo_code,AA.plan_qty,AA.partcode,AA.partname,AA.partspec,AA.uomname
+ order by AA.lm_date desc";
var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
if (data0.Rows.Count > 0)
@@ -93,7 +106,7 @@
lineone.children = new List<TreeTwo>();
//鏌ユ柊宸ュ崟涓嬪伐搴忎俊鎭�
- sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty,A.status
+ sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty+A.bad_qty as ng_qty,A.status
from TK_Wrk_Step A
left join TStep T on A.step_code=T.stepcode
where A.wo_code=@wo_code";
@@ -158,17 +171,30 @@
try
{
//鑾峰彇浠诲姟鍒楄〃淇℃伅
- sql = @"select A.*,ROW_NUMBER() OVER(ORDER BY (case when A.warning<=2 then A.planenddate end) asc ,A.planstartdate asc) AS RowNum from(
+ //sql = @"select A.*,ROW_NUMBER() OVER(ORDER BY (case when A.warning<=2 then A.planenddate end) asc ,A.planstartdate asc) AS RowNum from(
+ // select A.status,A.lm_date,E.saleOrderCode,A.wo_code,M.partcode,M.partname,M.partspec,U.name,
+ // A.plan_qty,B.good_qty,B.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
+ // from TK_Wrk_Man A
+ // inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+ // inner join TKimp_Ewo E on A.m_po=E.wo and A.sourceid=E.id
+ // left join TMateriel_Info M on A.materiel_code=M.partcode
+ // left join TUom U on M.uom_code=U.code
+ // where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
+ // and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
+ // )as A ";
+ sql = @"select * from(
+ select A.*,ROW_NUMBER() OVER(ORDER BY A.lm_date desc) AS RowNum from(
select A.status,A.lm_date,E.saleOrderCode,A.wo_code,M.partcode,M.partname,M.partspec,U.name,
- A.plan_qty,B.good_qty,B.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
+ A.plan_qty,B.good_qty,BS.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
from TK_Wrk_Man A
- inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+ inner join (select wo_code, sum(good_qty) as good_qty from TK_Wrk_Step where isend='Y' group by wo_code) B on A.wo_code=B.wo_code
+ inner join (select wo_code, sum(ng_qty)+sum(bad_qty) as ng_qty from TK_Wrk_Step group by wo_code) BS on A.wo_code=BS.wo_code
inner join TKimp_Ewo E on A.m_po=E.wo and A.sourceid=E.id
left join TMateriel_Info M on A.materiel_code=M.partcode
left join TUom U on M.uom_code=U.code
- where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
- and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
- )as A ";
+ where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and DateDiff(dd,A.lm_date,getdate())<=15
+ )as A
+ ) as AA ";
var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -287,7 +313,7 @@
try
{
//鑾峰彇閲囪喘璁㈠崟璺熻釜鍒楄〃
- sql = @"select * from h_v_DDKanBan_PurchaseLeftBottom ";
+ sql = @"select * from h_v_DDKanBan_PurchaseLeftBottom order by voucherdate desc";
var data = DapperHelper.selecttable(sql);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -337,7 +363,7 @@
try
{
//鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
- sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate";
+ sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate desc";
var data = DapperHelper.selecttable(sql);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -361,7 +387,7 @@
try
{
//鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
- sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate";
+ sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate desc";
var data = DapperHelper.selecttable(sql);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -481,7 +507,7 @@
left join TK_Wrk_Record T on S.wo_code=T.wo_code
left join TMateriel_Info M on A.materiel_code=M.partcode
where A.saleOrderCode is not null and A.saleOrderCode<>''
- and T.eqp_code=@lineCode and B.status<>'CLOSED'
+ and T.eqp_code=@lineCode and B.status<>'CLOSED' and DateDiff(dd,B.lm_date,getdate())<=15
) as AA
group by AA.saleOrderCode,AA.materiel_code,AA.partname";
dynamicParams.Add("@lineCode", lineCode);
@@ -508,7 +534,19 @@
try
{
//鑾峰彇宸ュ崟鎶ュ伐淇℃伅,鎶ュ伐鏁伴噺>0 涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬�
- sql = @"select row_number() over(order by A.wo_code,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
+ //sql = @"select row_number() over(order by A.wo_code,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
+ // from TK_Wrk_Man A
+ // inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+ // inner join(
+ // select wo_code,step_code,materiel_code,eqp_code, sum(good_qty) as good_qty
+ // from TK_Wrk_Record where style='B' group by wo_code,step_code,materiel_code,eqp_code
+ // ) as S on A.wo_code=S.wo_code and A.materiel_code=S.materiel_code and B.step_code=S.step_code
+ // left join TStep T on B.step_code=T.stepcode
+ // left join TMateriel_Info M on A.materiel_code=M.partcode
+ // left join TEqpInfo E on S.eqp_code=E.code
+ // where A.status<>'CLOSED'
+ // order by A.wo_code,B.seq";
+ sql = @"select row_number() over(order by A.plan_startdate,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
from TK_Wrk_Man A
inner join TK_Wrk_Step B on A.wo_code=B.wo_code
inner join(
@@ -518,8 +556,8 @@
left join TStep T on B.step_code=T.stepcode
left join TMateriel_Info M on A.materiel_code=M.partcode
left join TEqpInfo E on S.eqp_code=E.code
- where A.status<>'CLOSED'
- order by A.wo_code,B.seq";
+ where A.status<>'CLOSED' and DateDiff(dd,A.lm_date,getdate())<=15
+ order by A.plan_startdate,B.seq";
var data = DapperHelper.selecttable(sql);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -688,6 +726,22 @@
try
{
//瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,涓嶈壇鏄庣粏(鍙栬川妫�宸ュ簭,鎸変骇绾跨粺璁�)
+ //sql = @"select row_number() over(order by MM.lm_date,MM.wo_code) as RowNum,MM.lm_date,A.eqp_code,E.name as eqp_name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty as report_qty,A.ng_qty,
+ // defect_name=( STUFF(( SELECT ',' + B.name
+ // FROM CSR_WorkRecord_Defect N
+ // inner join TDefect B on N.defect_code=B.code
+ // where record_id=MM.record_id
+ // FOR
+ // XML PATH('')
+ // ), 1, 1, '') )
+ // from CSR_WorkRecord_Defect as MM
+ // inner join TK_Wrk_Record A on MM.record_id=a.id
+ // inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+ // inner join TStep T on MM.step_code=T.stepcode
+ // inner join TEqpInfo E on A.eqp_code=E.code
+ // inner join TMateriel_Info M on A.materiel_code=M.partcode
+ // where MM.step_code=@StepCode and MM.style='B' and A.style='B' and A.ng_qty>0 and S.status<>'CLOSED'
+ // group by MM.lm_date,MM.record_id,A.eqp_code,E.name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty,A.ng_qty";
sql = @"select row_number() over(order by MM.lm_date,MM.wo_code) as RowNum,MM.lm_date,A.eqp_code,E.name as eqp_name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty as report_qty,A.ng_qty,
defect_name=( STUFF(( SELECT ',' + B.name
FROM CSR_WorkRecord_Defect N
@@ -703,7 +757,9 @@
inner join TEqpInfo E on A.eqp_code=E.code
inner join TMateriel_Info M on A.materiel_code=M.partcode
where MM.step_code=@StepCode and MM.style='B' and A.style='B' and A.ng_qty>0 and S.status<>'CLOSED'
- group by MM.lm_date,MM.record_id,A.eqp_code,E.name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty,A.ng_qty";
+ and DateDiff(dd,MM.lm_date,getdate())<=15
+ group by MM.lm_date,MM.record_id,A.eqp_code,E.name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty,A.ng_qty
+ order by MM.lm_date desc";
dynamicParams.Add("@StepCode", StepCode);
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
--
Gitblit v1.9.3