| | |
| | | { |
| | | if (shopcode != null || shopcode != "") //产线编码不为空 |
| | | { |
| | | string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | //查询产线下已开工的加工单信息 |
| | | sql = @"select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname from TK_Wrk_Record A |
| | | 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 |
| | | where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in(@shopcode) and A.style='S' and A.step_seq='1'"; |
| | | dynamicParams.Add("@shopcode", shopcode); |
| | | var data0 = DapperHelper.selectdata(sql, dynamicParams); |
| | | 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)"; |
| | | var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() }); |
| | | |
| | | if (data0.Rows.Count > 0) |
| | | { |
| | | for (int j = 0; j < data0.Rows.Count; j++) |
| | |
| | | mes.data = list; |
| | | return mes; |
| | | } |
| | | #endregion\ |
| | | #endregion |
| | | |
| | | #region[大岛车间综合看板,左下列表接口] |
| | | public static ToMessage LineSearchBottomLeftData(string shopcode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | try |
| | | { |
| | | //获取任务列表信息 |
| | |
| | | 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' |
| | | 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 "; |
| | | dynamicParams.Add("@shopcode", shopcode); |
| | | var data = DapperHelper.selectdata(sql,dynamicParams); |
| | | var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() }); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.data = data; |
| | |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | try |
| | | { |
| | | //获取产品报工top5信息 |
| | |
| | | inner join TMateriel_Info M on A.materiel_code=M.partcode |
| | | inner join TEqpInfo E on A.eqp_code=E.code |
| | | inner join TOrganization W on E.wksp_code=W.org_code and W.description='W' |
| | | where A.style='B' and S.isend='Y' and W.org_code in(@shopcode) and datediff(day,GETDATE(),A.lm_date)=0 |
| | | where A.style='B' and S.isend='Y' and W.org_code in @shopcode and datediff(day,GETDATE(),A.lm_date)=0 |
| | | union all |
| | | select C.name as linename,'' as wkshname,M.partname,A.sqty as good_qty from TK_Wrk_OutRecord A |
| | | inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code |
| | |
| | | inner join TCustomer C on A.wx_code=C.code and C.btype='WX' |
| | | where A.style='S' and S.isend='Y' and datediff(day,GETDATE(),A.lm_date)=0 |
| | | ) as A group by A.org_name,A.name,A.partname order by good_qty desc"; |
| | | dynamicParams.Add("@shopcode", shopcode); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() }); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.data = data; |
| | |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | try |
| | | { |
| | | //获取报工不良top5信息 |
| | |
| | | from CSR_WorkRecord_Defect A |
| | | inner join TDefect B on A.defect_code=B.code |
| | | inner join TK_Wrk_Man M on A.wo_code=M.wo_code |
| | | where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in(@shopcode) |
| | | where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in @shopcode |
| | | group by B.name order by cont desc"; |
| | | dynamicParams.Add("@shopcode", shopcode); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() }); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.data = data; |
| | |
| | | try |
| | | { |
| | | //获取仓库生产加工单待入库列表 |
| | | sql = @"select * from h_v_DDKanBan_WareHouseTopLeft"; |
| | | sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate"; |
| | | var data = DapperHelper.selecttable(sql); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | |
| | | try |
| | | { |
| | | //获取仓库生产加工单待入库列表 |
| | | sql = @"select * from h_v_DDKanBan_WareHouseTopBottom"; |
| | | sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate"; |
| | | var data = DapperHelper.selecttable(sql); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region[车间看板公告] |
| | | public static ToMessage WkspReportNotice(string shopcode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | //获取车间公告信息 |
| | | sql = @"select contents from TSystemAnnouncement |
| | | where wksp_code in @shopcode"; |
| | | var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() }); |
| | | 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 WkshpLineData(string lineCode) |
| | | { |
| | | string sql = ""; |
| | | string search = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //获取产线销售订单报工信息,报工数量>0 且工单状态为非关闭状态 且工序为末道工序 (--and (S.good_qty+S.ng_qty+S.bad_qty)<S.plan_qty) |
| | | sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty from ( |
| | | select distinct A.saleOrderCode,A.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty |
| | | from TKimp_Ewo A |
| | | left join TK_Wrk_Man B on A.wo=B.m_po and A.materiel_code=B.materiel_code |
| | | left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y' |
| | | left join TFlw_Rteqp R on S.step_code=R.step_code |
| | | left join TMateriel_Info M on A.materiel_code=M.partcode |
| | | where A.saleOrderCode is not null and A.saleOrderCode<>'' |
| | | and R.eqp_code=@lineCode and B.status<>'CLOSED' |
| | | ) as AA |
| | | group by AA.saleOrderCode,AA.materiel_code,AA.partname"; |
| | | dynamicParams.Add("@lineCode", lineCode); |
| | | 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 WkshpContentData() |
| | | { |
| | | string sql = ""; |
| | | 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 |
| | | 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"; |
| | | 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[富尔达车间质量数字化看板,top5不良] |
| | | public static ToMessage BadTop5(string StepCode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //富尔达车间质量数字化看板,top5不良(取质检工序) |
| | | sql = @"select T.name,count(*) as cont from CSR_WorkRecord_Defect A |
| | | inner join TDefect T on A.defect_code=T.code |
| | | where step_code=@StepCode and datediff(day,GETDATE(),A.lm_date)=0 |
| | | group by T.name order by cont desc"; |
| | | dynamicParams.Add("@StepCode", StepCode); |
| | | 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 BadWeek(string StepCode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //富尔达车间质量数字化看板,周不良趋势(取质检工序当前时间往前一周) |
| | | sql = @"select |
| | | case when datepart(weekday,a.click_date)=2 then '周一' |
| | | when datepart(weekday,a.click_date)=3 then '周二' |
| | | when datepart(weekday,a.click_date)=3 then '周二' |
| | | when datepart(weekday,a.click_date)=4 then '周三' |
| | | when datepart(weekday,a.click_date)=5 then '周四' |
| | | when datepart(weekday,a.click_date)=6 then '周五' |
| | | when datepart(weekday,a.click_date)=7 then '周六' |
| | | when datepart(weekday,a.click_date)=1 then '周日' end as click_date, |
| | | ISNULL(b.count,0) as count |
| | | from ( |
| | | SELECT convert(varchar(10),getdate()-6,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate()-5,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate()-4,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate()-3,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate()-2,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate()-1,120) as click_date |
| | | union all |
| | | SELECT convert(varchar(10),getdate(),120) as click_date |
| | | ) a left join ( |
| | | select convert(varchar(10),lm_date,120) as datetime, count(*) as count |
| | | from CSR_WorkRecord_Defect where step_code=@StepCode |
| | | group by convert(varchar(10),lm_date,120) |
| | | ) b on a.click_date = b.datetime;"; |
| | | dynamicParams.Add("@StepCode", StepCode); |
| | | 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 BadDayDistriBute(string StepCode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //富尔达车间质量数字化看板,日不良分布(取质检工序,按产线统计) |
| | | sql = @"select A.eqp_code,E.name as eqp_name,count(*) as cont from TK_Wrk_Record A |
| | | inner join CSR_WorkRecord_Defect B on A.id=B.record_id |
| | | left join TEqpInfo E on A.eqp_code=E.code |
| | | where B.step_code=@StepCode and datediff(day,GETDATE(),B.lm_date)=0 |
| | | group by A.eqp_code,E.name order by cont desc"; |
| | | dynamicParams.Add("@StepCode", StepCode); |
| | | 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 BadWeekDistriBute(string StepCode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //富尔达车间质量数字化看板,周不良分布(取质检工序,按产线统计) |
| | | sql = @"select A.eqp_code,E.name as eqp_name,count(*) as cont from TK_Wrk_Record A |
| | | inner join CSR_WorkRecord_Defect B on A.id=B.record_id |
| | | left join TEqpInfo E on A.eqp_code=E.code |
| | | where B.step_code=@StepCode and DateDiff(dd,B.lm_date,getdate())<=7 |
| | | group by A.eqp_code,E.name order by cont desc"; |
| | | dynamicParams.Add("@StepCode", StepCode); |
| | | 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 BadContManger(string StepCode) |
| | | { |
| | | string sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //富尔达车间质量数字化看板,不良明细(取质检工序,按产线统计) |
| | | sql = @"select row_number() over(order by MM.lm_date,MM.wo_code) as RowNum,MM.lm_date,MM.wo_code,A.materiel_code,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 |
| | | 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,MM.wo_code,A.materiel_code,MM.step_code,T.stepname,A.good_qty,A.ng_qty"; |
| | | dynamicParams.Add("@StepCode", StepCode); |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | |