You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
6.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Estsh.Web.Util;
using ApServerProvider;
using System.Collections;
using System.Data;
using DbCommon;
namespace Estsh.Core.Repositories
{
/***************************************************************************************************
*
* 作者:任华松
* 创建时间2013.07.08
* 描述产品下线未发运查询DAL层
* 修改日志:
*
*
* *************************************************************************************************/
public class XTReWorkQueryDal : BaseApp
{
public XTReWorkQueryDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
this.TABLE_NAME = "";
this.PK_NAME = "";
}
/// <summary>
/// 汇总
/// </summary>
/// <param name="aWhere"></param>
/// <returns></returns>
public DataTable XTReWorkData(string aWhere, Pager pager, ref int totalCount)
{
lock (_remotingProxy)
{
StringBuilder sb = new StringBuilder();
sb.Append("SELECT aaa.type_name, aaa.model_name,aaa.stage_name,aaa.defect_desc,ncqty,qty,qty+ncqty AS couqty,CONCAT(round(cast(isnull(cast(qty*1.0/(qty+ncqty) as decimal(10,2)),0)*100 as int),2),'%') AS per ");
sb.Append("FROM ( SELECT type_name,model_name,stage_name,defect_desc,ncqty FROM ( ");
sb.Append("SELECT t.type_name, f.model_name,e.stage_name,a.defect_desc,COUNT(b.defect_id) AS ncqty ");
sb.Append("FROM sys_defect a ");
sb.Append("LEFT JOIN dbo.g_sn_defect b ON a.defect_id=b.defect_id ");
sb.Append("LEFT JOIN dbo.g_sn_status c ON b.serial_number=c.serial_number ");
sb.Append("LEFT JOIN dbo.sys_terminal d ON b.terminal_id=d.terminal_id ");
sb.Append("LEFT JOIN dbo.sys_stage e ON d.stage_id=e.stage_id ");
sb.Append("LEFT JOIN dbo.sys_model f ON c.model_id=f.model_id ");
sb.Append("LEFT JOIN dbo.sys_model_type t ON t.type_id=f.model_type_id ");
sb.Append("WHERE 1=1 " + aWhere + " ");
sb.Append("GROUP BY t.type_name, f.model_name,e.stage_name, a.defect_desc ) AS aa )aaa LEFT JOIN ( ");
sb.Append("SELECT t.type_name, f.model_name,e.stage_name,COUNT(1) AS qty ");
sb.Append("FROM dbo.g_out_pdline b ");
sb.Append("INNER JOIN dbo.g_sn_status i ON b.serial_number=i.serial_number ");
sb.Append("LEFT JOIN dbo.sys_terminal j ON i.terminal_id=j.terminal_id ");
sb.Append("LEFT JOIN dbo.sys_stage e ON e.stage_id=j.stage_id ");
sb.Append("LEFT JOIN dbo.sys_model f ON f.model_id=i.model_id ");
sb.Append("LEFT JOIN dbo.sys_model_type t ON t.type_id=f.model_type_id ");
sb.Append("WHERE 1=1 " + aWhere + " ");
sb.Append("GROUP BY t.type_name,f.model_name,e.stage_name ) bbb ON bbb.type_name = aaa.type_name AND bbb.model_name = aaa.model_name AND aaa.stage_name=bbb.stage_name ORDER BY aaa.type_name , aaa.model_name ,aaa.stage_name ");
Hashtable ht = new Hashtable();
DataTable dt = _remotingProxy.GetDataTable(sb.ToString());
return dt;
}
}
/// <summary>
/// 区段集合
/// </summary>
/// <returns>数据集</returns>
public ArrayList GetStageName()
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select stage_name as [value],stage_name as [key] from sys_stage where enabled='Y' ");
DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
/// <summary>
/// 不良类型集合
/// </summary>
/// <returns>数据集</returns>
public ArrayList GetDefectName(string stageName)
{
lock (_remotingProxy)
{
string quernSen = "";
if (string.IsNullOrEmpty(stageName))
{
quernSen = @" SELECT defect_desc as [value],defect_desc as [key] FROM dbo.sys_defect WHERE enabled = 'Y' ";
}
else
{
quernSen = @" SELECT defect_desc as [value],defect_desc as [key] FROM dbo.sys_defect WHERE stage_id IN (SELECT stage_id FROM dbo.sys_stage WHERE stage_name='" + stageName + "' AND enabled='Y') AND enabled = 'Y' ";
}
DataTable dt = _remotingProxy.GetDataTable(quernSen);
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
/// <summary>
///车型集合
/// </summary>
/// <returns>数据集</returns>
public ArrayList GetTypeName()
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select type_name as [value],type_name as [key] from sys_model_type where enabled='Y' ");
DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
/// <summary>
/// 配置集合
/// </summary>
/// <returns>数据集</returns>
public ArrayList GetModelList(string typeName)
{
lock (_remotingProxy)
{
string quernSen = "";
if (string.IsNullOrEmpty(typeName))
{
quernSen = @" SELECT model_name as [value],model_name as [key] FROM dbo.sys_model WHERE enabled = 'Y' ";
}
else
{
quernSen = @" SELECT model_name as [value],model_name as [key] FROM dbo.sys_model a JOIN dbo.sys_model_type b ON a.model_type_id = b.type_id WHERE a.enabled = 'Y' AND b.type_name = '" + typeName + "' ";
}
DataTable dt = _remotingProxy.GetDataTable(quernSen);
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
}
}