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.
459 lines
28 KiB
C#
459 lines
28 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Collections;
|
|
using DbCommon;
|
|
using System.Data;
|
|
using ApServerProvider;
|
|
using Estsh.Web.Util;
|
|
using System.Text;
|
|
|
|
namespace Estsh.Core.Repositories
|
|
{
|
|
public class ReworkReportDal : BaseApp
|
|
{
|
|
public ReworkReportDal(RemotingProxy remotingProxy)
|
|
: base(remotingProxy)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// 项目类型
|
|
/// </summary>
|
|
/// <param name="subWhere"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetModelTypeList()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
return _remotingProxy.GetDataTable(" SELECT type_id as [value], type_name as [key] FROM dbo.sys_model_type WHERE enabled = 'Y' ORDER BY type_name ");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="pager"></param>
|
|
/// <param name="serialNumber"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <param name="typeName"></param>
|
|
/// <param name="currStatus"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetBarCode(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate, string cmbTypeName, string cmbCurrStatus)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder colStr = new StringBuilder();
|
|
//colStr.Append(" a.serial_number, c.part_no, c.part_spec, ");
|
|
//colStr.Append(" CASE a.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type, ");
|
|
//colStr.Append(" a.update_ymd+' '+a.update_hms as repairDate,");
|
|
//colStr.Append(" CASE a.current_status WHEN 1 THEN '不良品' WHEN 0 THEN '良品' WHEN -1 THEN '报废品' ELSE '未知' END AS current_status,");
|
|
//colStr.Append(" e.type_name,a.create_ymd + ' ' + a.create_hms as defect_ctime,CONVERT(VARCHAR(20), a.out_pdline_time, 120) as out_pdline_time ");
|
|
colStr.Append(" * ");
|
|
|
|
//StringBuilder tableName = new StringBuilder();
|
|
//tableName.Append(" g_sn_status a");
|
|
//tableName.Append(" INNER JOIN dbo.g_sn_defect b ON a.serial_number = b.serial_number");
|
|
//tableName.Append(" LEFT JOIN sys_part c ON a.part_id = c.part_id ");
|
|
//tableName.Append(" LEFT JOIN dbo.sys_model d ON d.model_id = a.model_id ");
|
|
//tableName.Append(" LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id");
|
|
|
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append(" ( SELECT DISTINCT b.serial_number, c.part_no, c.part_spec, ");
|
|
SqlStringBuilder.Append(" CASE b.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type, ");
|
|
SqlStringBuilder.Append(" CASE b.current_status WHEN 1 THEN '不良品' WHEN 0 THEN '良品' WHEN -1 THEN '报废品' ELSE '未知' END AS current_status, e.type_name ");
|
|
SqlStringBuilder.Append(" from g_sn_defect a ");
|
|
SqlStringBuilder.Append(" INNER JOIN dbo.g_sn_status b ON a.serial_number = b.serial_number ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_part c ON b.part_id = c.part_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_model d ON d.model_id = b.model_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id ");
|
|
|
|
//StringBuilder whereStr = new StringBuilder();
|
|
|
|
SqlStringBuilder.Append(string.Format(" where ( CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms) >= '{0}' ", startDate));
|
|
SqlStringBuilder.Append(string.Format(" AND CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms) <= '{0}' ) ", endDate));
|
|
if (string.IsNullOrEmpty(cmbTypeName) == false)
|
|
{
|
|
SqlStringBuilder.Append(string.Format(" AND d.model_type_id = {0}", cmbTypeName));
|
|
}
|
|
if (string.IsNullOrEmpty(cmbCurrStatus) == false && cmbCurrStatus != "1000")
|
|
{
|
|
if (cmbCurrStatus != "-2")
|
|
{
|
|
SqlStringBuilder.Append(string.Format(" AND b.current_status = {0} ", cmbCurrStatus));
|
|
}
|
|
else
|
|
{
|
|
SqlStringBuilder.Append(string.Format(" AND b.current_status not in ('-1','0','1') ", cmbCurrStatus));
|
|
}
|
|
}
|
|
if (string.IsNullOrEmpty(txtSerialNumber.Trim()) == false)
|
|
{
|
|
SqlStringBuilder.Append(string.Format(" AND a.serial_number='{0}' ", txtSerialNumber));
|
|
}
|
|
|
|
SqlStringBuilder.Append(string.Format(" ) AS aa "));
|
|
|
|
Hashtable result = new Hashtable();
|
|
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", SqlStringBuilder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", colStr.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", " serial_number "));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", " 1=1 "));
|
|
|
|
Hashtable values = new Hashtable(2);
|
|
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
|
|
//totalCount = Convert.ToInt32(values["@TotalCount"]);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 维修明细
|
|
/// </summary>
|
|
/// <param name="serialNumber">条码</param>
|
|
/// <returns></returns>
|
|
public DataTable GetRepairDetials(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("a.serial_number,d.part_no,d.part_spec,h.enum_desc,b.defect_desc,e.terminal_name, ");
|
|
strColumn.Append("CASE a.enabled WHEN 'Y' THEN '未维修' WHEN 'N' THEN '已维修' ELSE '其他' END AS enabled, ");
|
|
strColumn.Append("g.emp_name AS update_name,f.emp_name,a.update_ymd,a.update_hms,a.create_ymd,a.create_hms ");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" g_sn_defect a ");
|
|
strTable.Append(" LEFT JOIN dbo.sys_defect b ON a.defect_id=b.defect_id ");
|
|
strTable.Append(" LEFT JOIN dbo.g_sn_status c ON a.serial_number=c.serial_number ");
|
|
strTable.Append(" LEFT JOIN sys_part d ON c.part_id=d.part_id ");
|
|
strTable.Append(" LEFT JOIN dbo.sys_enum h ON d.part_location=h.enum_value AND h.enum_type='sys_part_location'");
|
|
strTable.Append(" LEFT JOIN dbo.sys_terminal e ON a.terminal_id=e.terminal_id ");
|
|
strTable.Append(" LEFT JOIN sys_emp f ON a.create_userid=f.emp_id ");
|
|
strTable.Append(" LEFT JOIN dbo.sys_emp g ON a.update_userid=g.emp_id ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append("1=1");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and a.serial_number='{0}'", txtSerialNumber);
|
|
}
|
|
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
|
|
}
|
|
|
|
string strOrder = " a.create_ymd,a.create_hms ";
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关键零件更换
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetKeyPart(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("a.serial_number,b.part_no,b.part_spec,a.kpsn,d.terminal_name, a.create_ymd, a.create_hms,c.emp_name");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" g_sn_keyparts a ");
|
|
strTable.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
|
|
strTable.Append(" LEFT JOIN sys_emp c ON a.create_userid=c.emp_id ");
|
|
strTable.Append(" LEFT JOIN dbo.sys_terminal d ON a.terminal_id=d.terminal_id ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append("1=1 and d.terminal_id IN (100044,100055,100069)");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and a.serial_number = '{0}'", txtSerialNumber);
|
|
strWhere.AppendFormat(" OR a.kpsn ='{0}'", txtSerialNumber);
|
|
}
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
|
|
}
|
|
|
|
string strOrder = " a.serial_number ";
|
|
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 非关键零件
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetNotKeyPart(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("a.serial_number,b.part_no,b.part_spec,a.qty, a.create_ymd,a.create_hms,c.emp_name,a.remark");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" g_sn_repair_replace_parts a ");
|
|
strTable.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
|
|
strTable.Append(" LEFT JOIN sys_emp c ON a.replace_emp_id=c.emp_id ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append("1=1");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and a.serial_number='{0}'", txtSerialNumber);
|
|
}
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.AppendFormat(" and a.create_ymd BETWEEN '{0}' and '{1}' ", startDate, endDate);
|
|
}
|
|
|
|
StringBuilder strOrder = new StringBuilder();
|
|
strOrder.Append("a.serial_number");
|
|
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
|
|
//StringBuilder SqlBuilder = new StringBuilder();
|
|
//SqlBuilder.Append(" SELECT a.serial_number,b.part_no,b.part_spec,a.qty, a.create_ymd,a.create_hms,c.emp_name,a.remark ");
|
|
//SqlBuilder.Append(" FROM g_sn_repair_replace_parts a ");
|
|
//SqlBuilder.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
|
|
//SqlBuilder.Append(" LEFT JOIN sys_emp c ON a.replace_emp_id=c.emp_id ");
|
|
//SqlBuilder.Append(string.Format(" WHERE a.serial_number='{0}'", serialNumber));
|
|
//SqlBuilder.Append(" order by a.serial_number ");
|
|
|
|
//return _remotingProxy.GetDataTable(SqlBuilder.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关键数据
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetKeyData(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("a.serial_number,c.part_no,c.part_spec,a.keydata_desc,a.keydata_value,a.keydata_angle ,a.create_ymd,a.create_hms");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" g_sn_keydata a ");
|
|
strTable.Append(" LEFT JOIN dbo.g_sn_status d ON a.serial_number=d.serial_number ");
|
|
strTable.Append(" LEFT JOIN sys_part c ON d.part_id =c.part_id ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append(" 1=1");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and a.serial_number='{0}' ", txtSerialNumber);
|
|
}
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
|
|
}
|
|
|
|
StringBuilder strOrder = new StringBuilder();
|
|
strOrder.Append("a.serial_number");
|
|
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 电功能检测
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetCheck(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("条码,设备名称,检测项目名称,下限值,[上限值/模块信息] AS 上限值,测试值,[测试结果OK/NG] AS 测试结果,测试完成日期时间 ");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" i_djc_testdata a ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append(" 1=1");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and 条码 ='{0}' ", txtSerialNumber);
|
|
}
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.Append(" and 条码 IN ");
|
|
strWhere.AppendFormat(" (SELECT serial_number FROM g_sn_defect WHERE (CONVERT(DATETIME, create_ymd + ' ' + create_hms)) BETWEEN '{0}' and '{1}') ", startDate, endDate);
|
|
}
|
|
|
|
|
|
StringBuilder strOrder = new StringBuilder();
|
|
strOrder.Append("条码");
|
|
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 关键零件
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetKeyParts(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strColumn = new StringBuilder();
|
|
strColumn.Append("a.serial_number, b.part_no,b.part_spec,a.kpsn, a.create_ymd,a.create_hms");
|
|
|
|
StringBuilder strTable = new StringBuilder();
|
|
strTable.Append(" g_sn_keyparts a ");
|
|
strTable.Append(" LEFT JOIN sys_part b ON a.item_part_id=b.part_id ");
|
|
|
|
StringBuilder strWhere = new StringBuilder();
|
|
strWhere.Append(" 1=1");
|
|
if (string.IsNullOrEmpty(txtSerialNumber) == false)
|
|
{
|
|
strWhere.AppendFormat(" and a.serial_number = '{0}'", txtSerialNumber);
|
|
strWhere.AppendFormat(" OR a.kpsn ='{0}'", txtSerialNumber);
|
|
}
|
|
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
|
|
{
|
|
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
|
|
}
|
|
|
|
StringBuilder strOrder = new StringBuilder();
|
|
strOrder.Append("a.serial_number");
|
|
|
|
|
|
Hashtable result = new Hashtable();
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", strTable.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
|
|
|
|
Hashtable values = new Hashtable();
|
|
DataTable dt = new DataTable();
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
|
|
return dt;
|
|
}
|
|
}
|
|
}
|
|
}
|