| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | { |
| | | if (wocode != "" && wocode != null) |
| | | { |
| | | search += "and AA.wo_code like '%'+@wocode+'%' "; |
| | | search += "and A.wo_code like '%'+@wocode+'%' "; |
| | | dynamicParams.Add("@wocode", wocode); |
| | | } |
| | | if (partcode != "" && partcode != null) |
| | | { |
| | | search += "and AA.partcode like '%'+@partcode+'%' "; |
| | | search += "and A.partnumber like '%'+@partcode+'%' "; |
| | | dynamicParams.Add("@partcode", partcode); |
| | | } |
| | | if (partname != "" && partname != null) |
| | | { |
| | | search += "and AA.partname like '%'+@partname+'%' "; |
| | | search += "and B.partname like '%'+@partname+'%' "; |
| | | dynamicParams.Add("@partname", partname); |
| | | } |
| | | if (partspec != "" && partspec != null) |
| | | { |
| | | search += "and AA.partspec like '%'+@partspec+'%' "; |
| | | search += "and B.partspec like '%'+@partspec+'%' "; |
| | | dynamicParams.Add("@partspec", partspec); |
| | | } |
| | | if (stepname != "" && stepname != null) |
| | | { |
| | | search += "and AA.stepname like '%'+@stepname+'%' "; |
| | | search += "and S.stepname like '%'+@stepname+'%' "; |
| | | dynamicParams.Add("@stepname", stepname); |
| | | } |
| | | if (groupcode != "" && groupcode != null) |
| | | { |
| | | search += "and AA.group_code=@groupcode "; |
| | | dynamicParams.Add("@groupcode", groupcode); |
| | | } |
| | | if (reportname != "" && reportname != null) |
| | | { |
| | | search += "and AA.username like '%'+@reportname+'%' "; |
| | | search += "and U.username like '%'+@reportname+'%' "; |
| | | dynamicParams.Add("@reportname", reportname); |
| | | } |
| | | if (reportopendate != "" && reportopendate != null) |
| | | { |
| | | search += "and AA.report_date between @reportopendate and @reportclosedate "; |
| | | search += "and A.report_date between @reportopendate and @reportclosedate "; |
| | | dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00"); |
| | | dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59"); |
| | | } |
| | |
| | | search = search.Substring(3);//截取索引2后面的字符 |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select AA.wo_code,AA.partcode,AA.partname,AA.partspec,AA.stepcode,AA.stepname, |
| | | AA.task_qty,AA.group_code,AA.group_name,AA.report_qty,AA.unprice, |
| | | AA.moneys/colum as usermoney,AA.username,AA.report_date,colum |
| | | from ( |
| | | select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname, |
| | | A.task_qty,G.group_code,G.group_name,B.report_qty,isnull(S.unprice,0) as unprice, |
| | | B.report_qty*isnull(S.unprice,0) as moneys,U.username,B.report_date, |
| | | (select distinct count(*) from TK_Wrk_RecordSub S where S.m_id=B.m_id) as colum |
| | | 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 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 |
| | | ) as AA |
| | | where " + search; |
| | | //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 = "查询成功!"; |
| | |
| | | { |
| | | if (wocode != "" && wocode != null) |
| | | { |
| | | search += "and AA.wo_code like '%'+@wocode+'%' "; |
| | | search += "and A.wo_code like '%'+@wocode+'%' "; |
| | | dynamicParams.Add("@wocode", wocode); |
| | | } |
| | | if (partcode != "" && partcode != null) |
| | | { |
| | | search += "and AA.partcode like '%'+@partcode+'%' "; |
| | | search += "and A.partnumber like '%'+@partcode+'%' "; |
| | | dynamicParams.Add("@partcode", partcode); |
| | | } |
| | | if (partname != "" && partname != null) |
| | | { |
| | | search += "and AA.partname like '%'+@partname+'%' "; |
| | | search += "and B.partname like '%'+@partname+'%' "; |
| | | dynamicParams.Add("@partname", partname); |
| | | } |
| | | if (partspec != "" && partspec != null) |
| | | { |
| | | search += "and AA.partspec like '%'+@partspec+'%' "; |
| | | search += "and B.partspec like '%'+@partspec+'%' "; |
| | | dynamicParams.Add("@partspec", partspec); |
| | | } |
| | | if (stepname != "" && stepname != null) |
| | | { |
| | | search += "and AA.stepname like '%'+@stepname+'%' "; |
| | | search += "and S.stepname like '%'+@stepname+'%' "; |
| | | dynamicParams.Add("@stepname", stepname); |
| | | } |
| | | if (groupcode != "" && groupcode != null) |
| | | { |
| | | search += "and AA.group_code=@groupcode "; |
| | | dynamicParams.Add("@groupcode", groupcode); |
| | | } |
| | | if (reportname != "" && reportname != null) |
| | | { |
| | | search += "and AA.username like '%'+@reportname+'%' "; |
| | | search += "and U.username like '%'+@reportname+'%' "; |
| | | dynamicParams.Add("@reportname", reportname); |
| | | } |
| | | if (reportopendate != "" && reportopendate != null) |
| | | { |
| | | search += "and AA.report_date between @reportopendate and @reportclosedate "; |
| | | search += "and A.report_date between @reportopendate and @reportclosedate "; |
| | | dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00"); |
| | | dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59"); |
| | | } |
| | |
| | | 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 工序名称, |
| | | AA.task_qty as 任务数量,AA.group_code as 生产班组编码,AA.group_name as 生产班组名称,AA.report_qty as 报工数量,AA.unprice as 工序单价, |
| | | AA.moneys/colum as 计件工资,AA.username as 报工人员,AA.report_date as 报工时间,colum as 班组报工人数 |
| | | from ( |
| | | select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname, |
| | | A.task_qty,G.group_code,G.group_name,B.report_qty,isnull(S.unprice,0) as unprice, |
| | | B.report_qty*isnull(S.unprice,0) as moneys,U.username,B.report_date, |
| | | (select distinct count(*) from TK_Wrk_RecordSub S where S.m_id=B.m_id) as colum |
| | | 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 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 |
| | | ) as AA |
| | | where " + search; |
| | | //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, "人员工资明细报表"); |
| | |
| | | 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 |
| | | } |
| | | } |