|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Web;
|
|
|
using System.Data;
|
|
|
using System.Text;
|
|
|
using System.Collections;
|
|
|
using ApServerProvider;
|
|
|
using Estsh.Web.Util;
|
|
|
using DbCommon;
|
|
|
|
|
|
namespace Estsh.Core.Repositories
|
|
|
{
|
|
|
public class CheckStockPrint : BaseApp
|
|
|
{
|
|
|
/***************************************************************************************************
|
|
|
*
|
|
|
* 作者:张茂忠
|
|
|
* 创建时间:2013.04.17
|
|
|
* 描述:盘点单打印模块Dal层
|
|
|
* 修改日志:
|
|
|
*
|
|
|
*
|
|
|
* *************************************************************************************************/
|
|
|
public CheckStockPrint(RemotingProxy remotingProxy)
|
|
|
: base(remotingProxy)
|
|
|
{ }
|
|
|
|
|
|
|
|
|
//public Model.Ex.g_check_stockEx[] Query()
|
|
|
//{
|
|
|
// Estsh.ExpressDAL.ExpressDAO<Model.Ex.g_check_stockEx> dalBase = new ExpressDAL.ExpressDAO<Model.Ex.g_check_stockEx>(_remotingProxy, Model.Ex.g_check_stockEx._tableName);
|
|
|
// return dalBase.Query();
|
|
|
//}
|
|
|
/// <summary>
|
|
|
/// 获取库区
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public DataTable GetFactoryListData()
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
string SqlString = "select factory_code as [value],factory_code as [key] from dbo.sys_factory where enabled='Y'";
|
|
|
|
|
|
return _remotingProxy.GetDataTable(SqlString);
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 获取大库位
|
|
|
/// </summary>
|
|
|
/// <param name="factoryCode"></param>
|
|
|
/// <returns></returns>
|
|
|
public DataTable GetWarehouseListData(string factoryCode)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT warehouse_name as [value],warehouse_name as [key]");
|
|
|
SqlStringBuilder.Append("FROM dbo.sys_warehouse a ");
|
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory b ON a.factory_id = b.factory_id ");
|
|
|
SqlStringBuilder.Append("WHERE a.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND b.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND b.factory_code = @factory_code ");
|
|
|
|
|
|
Hashtable Params = new Hashtable(1);
|
|
|
|
|
|
Params.Add("@factory_code", factoryCode);
|
|
|
|
|
|
return _remotingProxy.GetDataTable(SqlStringBuilder.ToString(), Params);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户选择的条件查找盘点数据
|
|
|
/// </summary>
|
|
|
/// <param name="wheres">筛选条件</param>
|
|
|
/// <returns>盘点数据</returns>
|
|
|
public DataTable GetWhere(string wheres)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT a.order_no , ");
|
|
|
SqlStringBuilder.Append(" a.carton_no, ");
|
|
|
SqlStringBuilder.Append(" a.lot_no, ");
|
|
|
SqlStringBuilder.Append(" a.qty, ");
|
|
|
SqlStringBuilder.Append(" d.factory_name, ");
|
|
|
SqlStringBuilder.Append(" e.part_no, ");
|
|
|
SqlStringBuilder.Append(" e.part_spec, ");
|
|
|
SqlStringBuilder.Append(" b.locate_name , ");
|
|
|
SqlStringBuilder.Append(" b.locate_id , ");
|
|
|
SqlStringBuilder.Append(" c.warehouse_name , ");
|
|
|
SqlStringBuilder.Append(" d.factory_code, ");
|
|
|
SqlStringBuilder.Append(" '' as order_no1 ");
|
|
|
SqlStringBuilder.Append("FROM dbo.sys_stock a ");
|
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_locate b ON a.locate_id = b.locate_id ");
|
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_warehouse c ON b.warehouse_id = c.warehouse_id ");
|
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory d ON c.factory_id = d.factory_id ");
|
|
|
SqlStringBuilder.Append(" left join dbo.sys_part e on a.part_id=e.part_id ");
|
|
|
SqlStringBuilder.Append("WHERE a.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND b.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND c.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND d.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(wheres);
|
|
|
SqlStringBuilder.Append(" ORDER BY a.order_no , ");
|
|
|
SqlStringBuilder.Append(" a.carton_no, ");
|
|
|
SqlStringBuilder.Append(" d.factory_name, ");
|
|
|
SqlStringBuilder.Append(" e.part_no, ");
|
|
|
SqlStringBuilder.Append(" e.part_spec, ");
|
|
|
SqlStringBuilder.Append(" b.locate_name , ");
|
|
|
SqlStringBuilder.Append(" c.warehouse_name , ");
|
|
|
SqlStringBuilder.Append(" d.factory_code ");
|
|
|
|
|
|
|
|
|
DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
|
|
|
|
|
|
return dt;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成盘点单
|
|
|
/// </summary>
|
|
|
/// <param name="factoryCode">库区</param>
|
|
|
/// <param name="warehouseName">大库位</param>
|
|
|
/// <param name="partNo">零件号</param>
|
|
|
/// <param name="startLocate">开始库位</param>
|
|
|
/// <param name="endLocate">结束库位</param>
|
|
|
/// <param name="csType">盘点类型</param>
|
|
|
/// <param name="showQty">PDA盘点时是否显示库存数量</param>
|
|
|
/// <param name="data">盘点明细数据</param>
|
|
|
/// <returns>是否成功</returns>
|
|
|
public bool GenCSOrder(string factoryCode, string warehouseName, string partNo,
|
|
|
string startLocate, string endLocate, string csType, string showQty, DataTable data)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
if (data == null)
|
|
|
return false;
|
|
|
|
|
|
if (data.Rows.Count == 0)
|
|
|
return false;
|
|
|
|
|
|
ArrayList SqlStrings = new ArrayList();
|
|
|
|
|
|
Hashtable Values = new Hashtable();
|
|
|
|
|
|
// 产生盘点单号
|
|
|
string OrderNo = "C" + _remotingProxy.GetServerTime().ToString("yyMMddHHmmss");
|
|
|
|
|
|
Values.Add("order_no", OrderNo);
|
|
|
Values.Add("cs_type", csType);
|
|
|
Values.Add("factory_code", factoryCode);
|
|
|
Values.Add("warehouse_name", warehouseName);
|
|
|
Values.Add("start_locate_name", startLocate);
|
|
|
Values.Add("end_locate_name", endLocate);
|
|
|
Values.Add("part_no", partNo);
|
|
|
//Values.Add("show_qty", showQty);
|
|
|
|
|
|
// 生成盘点单表头的 SQL
|
|
|
SqlStrings.Add(_remotingProxy.Insert("dbo.g_check_stock", Values, false));
|
|
|
|
|
|
// 生产盘点单明细表的 SQL
|
|
|
foreach (DataRow dr in data.Rows)
|
|
|
{
|
|
|
// 把生成的盘点单号写入数据表,用于显示
|
|
|
dr["order_no1"] = OrderNo;
|
|
|
|
|
|
Values.Clear();
|
|
|
|
|
|
Values.Add("order_no", OrderNo);
|
|
|
Values.Add("part_no", dr["part_no"].ToString());
|
|
|
Values.Add("carton_no", dr["carton_no"].ToString());
|
|
|
Values.Add("qty", Convert.ToDecimal(dr["qty"]));
|
|
|
Values.Add("locate_id", Convert.ToInt32(dr["locate_id"]));
|
|
|
|
|
|
SqlStrings.Add(_remotingProxy.Insert("dbo.g_check_stock_list", Values, false));
|
|
|
}
|
|
|
|
|
|
// 以事务类型执行一组 SQL
|
|
|
return _remotingProxy.ExecuteSqlTransaction(SqlStrings);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#region jerome
|
|
|
/// <summary>
|
|
|
/// 获取产线
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public DataTable GetPdLineName()
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
string SqlString = "SELECT pdline_id as [value],pdline_name,pdline_desc as [key] FROM sys_pdline WHERE enabled='Y'";
|
|
|
|
|
|
try
|
|
|
{
|
|
|
return _remotingProxy.GetDataTable(SqlString);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取项目
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public DataTable GetModelTypeNameList()
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
string SqlString = " SELECT type_id as [value],type_name as [key] FROM sys_model_type WHERE enabled='Y' ";
|
|
|
|
|
|
try
|
|
|
{
|
|
|
return _remotingProxy.GetDataTable(SqlString);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户选择的条件查找盘点数据
|
|
|
/// </summary>
|
|
|
/// <param name="wheres">筛选条件</param>
|
|
|
/// <returns>盘点数据</returns>
|
|
|
public Hashtable GetCheckStockWhere(string wheres, Pager pager)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
#if(false)
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.AppendLine("SELECT ");
|
|
|
SqlStringBuilder.AppendLine(" c.pdline_name, c.fg_wh_code, d.model_name, ");
|
|
|
SqlStringBuilder.AppendLine(" b.part_no,b.part_spec, ");
|
|
|
SqlStringBuilder.AppendLine(" a.serial_number,a.car_no, ");
|
|
|
SqlStringBuilder.AppendLine(" CASE a.work_flag WHEN 1 THEN '已下线' WHEN 0 THEN '已上线' WHEN -1 THEN '未上线' WHEN 2 THEN '已发运' ");
|
|
|
SqlStringBuilder.AppendLine(" WHEN 3 THEN '已领用' ELSE CAST(a.work_flag AS VARCHAR(2)) END AS work_flag ");
|
|
|
SqlStringBuilder.AppendLine(" ,CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' ");
|
|
|
SqlStringBuilder.AppendLine(" WHEN -2 THEN '已拆解' ELSE CAST(a.current_status AS VARCHAR(2)) + ' 未知' END AS current_status ");
|
|
|
SqlStringBuilder.AppendLine(" ,CONVERT(VARCHAR(25),a.in_pdline_time,120) AS in_pdline_time ");
|
|
|
SqlStringBuilder.AppendLine(" ,CONVERT(VARCHAR(25),a.Out_pdline_time,120) AS out_pdline_time ");
|
|
|
SqlStringBuilder.AppendLine("FROM dbo.g_sn_status a ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_part b on a.part_id=b.part_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_pdline c on a.pdline_id=c.pdline_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_model d on a.model_id=d.model_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_model_type e on e.type_id = d.model_type_id ");
|
|
|
SqlStringBuilder.AppendLine("WHERE a.enabled='Y' AND a.prod_type NOT IN ('C','K')" + wheres); // pord_type: C: 充料, K: 删除的指令
|
|
|
SqlStringBuilder.AppendLine("ORDER BY a.out_pdline_time ");
|
|
|
|
|
|
return _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
|
|
|
//#else
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.AppendLine("SELECT ");
|
|
|
SqlStringBuilder.AppendLine(" ' ' as order_no,c.pdline_name,d.model_name, ");
|
|
|
SqlStringBuilder.AppendLine(" b.part_no,b.part_spec, ");
|
|
|
SqlStringBuilder.AppendLine(" a.serial_number,CONVERT(VARCHAR(25),a.Out_pdline_time,120) AS out_pdline_time ");
|
|
|
SqlStringBuilder.AppendLine(" ,CONVERT(VARCHAR(25),a.in_pdline_time,120) AS in_pdline_time, c.fg_wh_code ");
|
|
|
SqlStringBuilder.AppendLine(" ,CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' ");
|
|
|
SqlStringBuilder.AppendLine(" WHEN -2 THEN '已拆解' ELSE CAST(a.current_status AS VARCHAR(2)) + ' 未知' END AS current_status ");
|
|
|
SqlStringBuilder.AppendLine(" ,CASE a.work_flag WHEN 1 THEN '已下线' WHEN 0 THEN '已上线' WHEN -1 THEN '未上线' WHEN 2 THEN '已发运' ");
|
|
|
SqlStringBuilder.AppendLine(" WHEN 3 THEN '已领用' ELSE CAST(a.work_flag AS VARCHAR(2)) END AS work_flag ");
|
|
|
SqlStringBuilder.AppendLine(" ,a.car_no ");
|
|
|
SqlStringBuilder.AppendLine("FROM dbo.g_sn_status a ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_part b on a.part_id=b.part_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_pdline c on a.pdline_id=c.pdline_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_model d on a.model_id=d.model_id ");
|
|
|
SqlStringBuilder.AppendLine(" left join dbo.sys_model_type e on e.type_id = d.model_type_id ");
|
|
|
SqlStringBuilder.AppendLine("WHERE a.enabled='Y' AND a.prod_type NOT IN ('C','K')" + wheres); // pord_type: C: 充料, K: 删除的指令
|
|
|
SqlStringBuilder.AppendLine("ORDER BY a.out_pdline_time ");
|
|
|
|
|
|
return _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
|
|
|
#endif
|
|
|
|
|
|
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", "dbo.g_sn_status a left join dbo.sys_part b on a.part_id=b.part_id left join dbo.sys_pdline c on a.pdline_id=c.pdline_id left join dbo.sys_model d on a.model_id=d.model_id left join dbo.sys_model_type e on e.type_id = d.model_type_id "));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "' ' as order_no,c.pdline_name,d.model_name,b.part_no,b.part_spec,a.serial_number,CONVERT(VARCHAR(25),a.Out_pdline_time,120) AS out_pdline_time,CONVERT(VARCHAR(25),a.in_pdline_time,120) AS in_pdline_time, c.fg_wh_code,CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' WHEN -2 THEN '已拆解' ELSE CAST(a.current_status AS VARCHAR(2)) + ' 未知' END AS current_status ,CASE a.work_flag WHEN 1 THEN '已下线' WHEN 0 THEN '已上线' WHEN -1 THEN '未上线' WHEN 2 THEN '已发运' WHEN 3 THEN '已领用' ELSE CAST(a.work_flag AS VARCHAR(2)) END AS work_flag ,a.car_no"));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "a.out_pdline_time"));
|
|
|
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));
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.AppendLine(" a.enabled='Y' AND a.prod_type NOT IN ('C','K')" + wheres); // pord_type: C: 充料, K: 删除的指令
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", SqlStringBuilder.ToString()));
|
|
|
Hashtable values = new Hashtable(2);
|
|
|
DataTable dt = new DataTable();
|
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
|
result.Add("dataList", dataList);
|
|
|
result.Add("totalCount", values["@TotalCount"].ToString());
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成盘点单
|
|
|
/// </summary>
|
|
|
/// <param name="data">盘点明细数据</param>
|
|
|
/// <param name="OrderNo">盘点单号</param>
|
|
|
/// <returns>是否成功</returns>
|
|
|
public Hashtable GenCSOrder(string wheres, int totalRows)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
//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", "dbo.g_sn_status a left join dbo.sys_part b on a.part_id=b.part_id left join dbo.sys_pdline c on a.pdline_id=c.pdline_id left join dbo.sys_model d on a.model_id=d.model_id left join dbo.sys_model_type e on e.type_id = d.model_type_id "));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "' ' as order_no,c.pdline_name,d.model_name,b.part_no,b.part_spec,a.serial_number,CONVERT(VARCHAR(25),a.Out_pdline_time,120) AS out_pdline_time,CONVERT(VARCHAR(25),a.in_pdline_time,120) AS in_pdline_time, c.fg_wh_code,CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' WHEN -2 THEN '已拆解' ELSE CAST(a.current_status AS VARCHAR(2)) + ' 未知' END AS current_status ,CASE a.work_flag WHEN 1 THEN '已下线' WHEN 0 THEN '已上线' WHEN -1 THEN '未上线' WHEN 2 THEN '已发运' WHEN 3 THEN '已领用' ELSE CAST(a.work_flag AS VARCHAR(2)) END AS work_flag ,a.car_no"));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "a.out_pdline_time"));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", totalRows));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", 1));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.AppendLine(" a.enabled='Y' AND a.prod_type NOT IN ('C','K')" + wheres); // pord_type: C: 充料, K: 删除的指令
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", SqlStringBuilder.ToString()));
|
|
|
Hashtable values = new Hashtable(2);
|
|
|
DataTable data = new DataTable();
|
|
|
data = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
|
|
|
|
Hashtable result = new Hashtable();
|
|
|
result.Add("result", false);
|
|
|
result.Add("order_no", string.Empty);
|
|
|
result.Add("msg", "没有查询到数据!");
|
|
|
if (data == null)
|
|
|
return result;
|
|
|
|
|
|
if (data.Rows.Count == 0)
|
|
|
return result;
|
|
|
//data.Columns.Add("order_no");
|
|
|
|
|
|
string OrderNo = "C" + _remotingProxy.GetServerTime().ToString("yyMMddHHmmss");
|
|
|
|
|
|
result["order_no"] = OrderNo;
|
|
|
result["msg"] = string.Empty;
|
|
|
ArrayList SqlStrings = new ArrayList();
|
|
|
Hashtable Values = new Hashtable();
|
|
|
// 产生盘点单号
|
|
|
Values.Add("order_no", OrderNo);
|
|
|
Values.Add("cs_type", "0");
|
|
|
Values.Add("factory_code", "0");
|
|
|
Values.Add("warehouse_name", "0");
|
|
|
Values.Add("start_locate_name", "0");
|
|
|
Values.Add("end_locate_name", "0");
|
|
|
Values.Add("part_no", "0");
|
|
|
|
|
|
|
|
|
// 生成盘点单表头的 SQL
|
|
|
SqlStrings.Add(_remotingProxy.Insert("dbo.g_check_stock", Values, false));
|
|
|
|
|
|
// 生产盘点单明细表的 SQL
|
|
|
foreach (DataRow dr in data.Rows)
|
|
|
{
|
|
|
// 把生成的盘点单号写入数据表,用于显示
|
|
|
dr["order_no"] = OrderNo;
|
|
|
Values.Clear();
|
|
|
Values.Add("order_no", OrderNo);
|
|
|
Values.Add("part_no", dr["part_no"].ToString());
|
|
|
Values.Add("carton_no", dr["serial_number"].ToString());
|
|
|
Values.Add("qty", "0");
|
|
|
Values.Add("locate_id", "0");
|
|
|
|
|
|
SqlStrings.Add(_remotingProxy.Insert("dbo.g_check_stock_list", Values, false));
|
|
|
}
|
|
|
// 以事务类型执行一组 SQL
|
|
|
if (_remotingProxy.ExecuteSqlTransaction(SqlStrings))
|
|
|
{
|
|
|
result["result"] = true;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
} |