| | |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region[物流检验记录查询] |
| | | public static ToMessage LogisticsCheckSearch(string checktypecode, string partcode, string partname, string partspec, string labcode, string customercode, string batchno, string checkuser, string opencheckdate, string closecheckdate, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | | try |
| | | { |
| | | if (checktypecode != "" && checktypecode != null) |
| | | { |
| | | search += "and A.check_type=@checktypecode "; |
| | | dynamicParams.Add("@checktypecode", checktypecode); |
| | | } |
| | | 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 (labcode != "" && labcode != null) |
| | | { |
| | | search += "and A.hbarcode like '%'+@labcode+'%' "; |
| | | dynamicParams.Add("@labcode", labcode); |
| | | } |
| | | if (customercode != "" && customercode != null) |
| | | { |
| | | search += "and A.customer_code=@customercode "; |
| | | dynamicParams.Add("@customercode", customercode); |
| | | } |
| | | if (batchno != "" && batchno != null) |
| | | { |
| | | search += "and R.hbatchno like '%'+@batchno+'%' "; |
| | | dynamicParams.Add("@batchno", labcode); |
| | | } |
| | | if (checkuser != "" && checkuser != null) |
| | | { |
| | | search += "and U.username like '%'+@checkuser+'%' "; |
| | | dynamicParams.Add("@checkuser", checkuser); |
| | | } |
| | | if (opencheckdate != "" && opencheckdate != null) |
| | | { |
| | | search += "and A.lm_date between @opencheckdate and @closecheckdate "; |
| | | dynamicParams.Add("@opencheckdate", opencheckdate + " 00:00:00"); |
| | | dynamicParams.Add("@closecheckdate", closecheckdate + " 23:59:59"); |
| | | } |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select A.id,A.check_type,A.check_typename,A.sampmethod,M.partcode,M.partname,M.partspec,R.hbatchno, |
| | | A.hbarcode,A.customer_code,C.name as customer_name,U.usercode,U.username,A.lm_date,A.check_result |
| | | from TStepCheckRecord A |
| | | left join TMateriel_Info M on A.partcode=M.partcode |
| | | left join T_BarCodeBill R on A.hbarcode=R.hbarcode |
| | | left join TCustomer C on A.customer_code=C.code |
| | | left join TUser U on A.check_user=U.usercode |
| | | where A.check_type in('InCheck','OutCheck') " + 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 LogisticsCheckSubSearch(string checkid) |
| | | { |
| | | var sql = ""; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | //存储过程名 |
| | | sql = @"h_p_IFCLD_WuLiuCheckSubSelect"; |
| | | dynamicParams.Add("@checkid", checkid); |
| | | DataTable dt = DapperHelper.selectProcedure(sql, dynamicParams); |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | mes.code = "200"; |
| | | mes.count = 0; |
| | | mes.Message = "查询成功!"; |
| | | mes.data = dt; |
| | | } |
| | | else |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = "无检验明细数据!"; |
| | | mes.data = null; |
| | | } |
| | | } |
| | | 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 |
| | | } |
| | | } |