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.

1083 lines
58 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 Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.Model.EnumUtil;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人sitong.dong
* 描述:移动出库单管理
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
/// <summary>
/// 数据访问类
/// </summary>
public class MovementInstockManageRepository : BaseRepository<WmsInstock>, IMovementInstockManageRepository
{
public MovementInstockManageRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 获取分页数据列表
/// </summary>
public Hashtable getMoveHeaderListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
DynamicParameters Params = new DynamicParameters();
Params.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
Params.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
Params.Add("@GroupColumn", "");
Params.Add("@Table", "wms_instock a (nolock) left join sys_enum b (nolock) on b.enum_type='wms_instock_order_type' and a.order_type=b.enum_value left join sys_enum c (nolock) on c.enum_type='wms_move_header_order_status' and a.order_status=c.enum_value " +
" left join sys_vendor v (nolock) on a.vendor_id=v.vendor_id left join sys_customer cu (nolock) on a.customer_id=cu.customer_id ");
Params.Add("@Column", " a.ruid,a.order_no,a.order_type,b.enum_desc as order_type_desc,a.order_status,c.enum_desc as order_status_desc,a.ref_order_no,a.factory_id,a.factory_code,a.enabled,a.vendor_id,a.vendor_code,v.vendor_name,a.customer_id,a.customer_code,cu.customer_name,a.create_time ");
Params.Add("@PageSize", PageSize);
Params.Add("@CurrentPage", PageIndex);
Params.Add("@Condition", strWhere);
Params.Add("@OrderColumn", OrderBy);
Params.Add("@Group", 0);
List<WmsInstock> dataList = dbConn.Query<WmsInstock>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", Params.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
public Hashtable getMoveDetailListByPage(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select a.ruid,a.order_no,a.item_no,a.part_id,a.part_no,a.part_spec,a.qty,a.rec_qty,a.unit,a.plan_date, ");
SqlStringBuilder.Append(" a.plan_time,b.enum_desc as item_status_desc,item_status,a.dest_warehouse_id,a.dest_warehouse_name, ");
SqlStringBuilder.Append(" a.dest_zone_id,a.dest_zone_name,a.dest_erp_warehouse,a.factory_id,a.factory_code,a.enabled from ");
SqlStringBuilder.Append(" wms_instock_detail a (nolock) left join sys_enum b (nolock) on b.enum_type='wms_move_detail_item_status' and a.item_status=convert(int,b.enum_value) where " + strWhere);
List<WmsInstockDetail> dataList = dbConn.Query<WmsInstockDetail>(SqlStringBuilder.ToString()).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", dataList.Count());
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
public Hashtable getMoveSnListByPage(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select a.ruid,a.order_no,a.item_no,a.part_id,a.part_no,a.part_spec,p.part_spec2,a.carton_no,a.qty,a.unit,b.enum_desc as status_desc,a.status, a.factory_id,a.factory_code,a.enabled ");
SqlStringBuilder.Append(" ,cd.plan_date,cd.plan_time,c.vendor_code,d.vendor_name,c.customer_code,cu.customer_name ");
SqlStringBuilder.Append(" from wms_instock_sn a (nolock) left join sys_enum b on b.enum_type='wms_move_sn_status' and a.status=convert(int,b.enum_value) ");
SqlStringBuilder.Append(" left join wms_instock c (nolock) on a.order_no=c.order_no ");
SqlStringBuilder.Append(" left join wms_instock_detail cd (nolock) on c.order_no=cd.order_no and cd.part_id=a.part_id ");
SqlStringBuilder.Append(" left join sys_vendor d (nolock) on c.vendor_id=d.vendor_id ");
SqlStringBuilder.Append(" left join sys_customer cu (nolock) on c.customer_id=cu.customer_id left join sys_part p (nolock) on a.part_id=p.part_id ");
SqlStringBuilder.Append(" where " + strWhere);
List<WmsInstockSn> dataList = dbConn.Query<WmsInstockSn>(SqlStringBuilder.ToString()).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", dataList.Count());
return result;
}
}
public List<WmsInstock> getInstockListByPrintCount(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select count(1) row_count from wms_instock_sn a (nolock) left join sys_enum b on b.enum_type='wms_move_sn_status' and a.status=convert(int,b.enum_value) ");
SqlStringBuilder.Append(" left join wms_instock c (nolock) on a.order_no=c.order_no ");
SqlStringBuilder.Append(" left join wms_instock_detail cd (nolock) on c.order_no=cd.order_no and cd.part_id=a.part_id ");
SqlStringBuilder.Append(" left join sys_vendor d (nolock) on c.vendor_id=d.vendor_id ");
SqlStringBuilder.Append(" left join sys_customer cu (nolock) on c.customer_id=cu.customer_id left join sys_part p (nolock) on a.part_id=p.part_id ");
SqlStringBuilder.Append(" where " + strWhere);
List<WmsInstock> dataList = dbConn.Query<WmsInstock>(SqlStringBuilder.ToString()).ToList();
return dataList;
}
}
public List<WmsInstockSn> getInstockListByPrintRange(string strWhere,string endrowCount, string rowCount)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select * from ( ");
SqlStringBuilder.Append(" select top "+ rowCount + " a.* ");
SqlStringBuilder.Append(" from (select top "+ endrowCount + " a.ruid,a.order_no,a.item_no,a.part_id,a.part_no,a.part_spec,p.part_spec2,a.carton_no,a.qty,a.unit,b.enum_desc as status_desc,a.status, a.factory_id,a.factory_code,a.enabled ");
SqlStringBuilder.Append(" ,cd.plan_date,cd.plan_time,c.vendor_code,d.vendor_name,c.customer_code,cu.customer_name,p.default_box_qty from wms_instock_sn a (nolock) left join sys_enum b on b.enum_type='wms_move_sn_status' and a.status=convert(int,b.enum_value) ");
SqlStringBuilder.Append(" left join wms_instock c (nolock) on a.order_no=c.order_no ");
SqlStringBuilder.Append(" left join wms_instock_detail cd (nolock) on c.order_no=cd.order_no and cd.part_id=a.part_id ");
SqlStringBuilder.Append(" left join sys_vendor d (nolock) on c.vendor_id=d.vendor_id ");
SqlStringBuilder.Append(" left join sys_customer cu (nolock) on c.customer_id=cu.customer_id left join sys_part p (nolock) on a.part_id=p.part_id where " + strWhere + " order by a.ruid ) as a order by a.ruid desc) as al ");
SqlStringBuilder.Append(" order by al.ruid ");
List<WmsInstockSn> dataList = dbConn.Query<WmsInstockSn>(SqlStringBuilder.ToString()).ToList();
return dataList;
}
}
public List<WmsInstockSn> getMoveSnListByPrint(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select a.ruid,a.order_no,a.item_no,a.part_id,a.part_no,a.part_spec,p.part_spec2,a.carton_no,a.qty,a.unit,b.enum_desc as status_desc,a.status, a.factory_id,a.factory_code,a.enabled,cd.plan_date ");
SqlStringBuilder.Append(" ,cd.plan_date,cd.plan_time,c.vendor_code,d.vendor_name,c.customer_code,cu.customer_name,p.default_box_qty ");
SqlStringBuilder.Append(" from wms_instock_sn a (nolock) left join sys_enum b on b.enum_type='wms_move_sn_status' and a.status=convert(int,b.enum_value) ");
SqlStringBuilder.Append(" left join wms_instock c (nolock) on a.order_no=c.order_no ");
SqlStringBuilder.Append(" left join wms_instock_detail cd (nolock) on c.order_no=cd.order_no and cd.part_id=a.part_id ");
SqlStringBuilder.Append(" left join sys_vendor d (nolock) on c.vendor_id=d.vendor_id ");
SqlStringBuilder.Append(" left join sys_customer cu (nolock) on c.customer_id=cu.customer_id left join sys_part p (nolock) on a.part_id=p.part_id ");
SqlStringBuilder.Append(" where " + strWhere+ " order by a.ruid ");
List<WmsInstockSn> dataList = dbConn.Query<WmsInstockSn>(SqlStringBuilder.ToString()).ToList();
return dataList;
}
}
public List<KeyValueResult> GetErpwarehouse()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String strSql = "select distinct erp_warehouse as [key] , erp_warehouse as value from sys_zone (nolock) where enabled='Y' ";
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql).ToList();
return result;
}
}
public List<KeyValueResult> GetMoveOrderType()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT [enum_value] as [value],[enum_desc] as [key] FROM sys_enum (nolock) where enum_type='wms_instock_order_type' and enabled='Y'";
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(sql).ToList();
return result;
}
}
public List<KeyValueResult> GetMoveOrderStatus()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT [enum_value] as [value],[enum_desc] as [key] FROM sys_enum (nolock) where enum_type ='wms_move_header_order_status' and enabled='Y' order by enum_value";
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(sql).ToList();
return result;
}
}
/// <summary>
/// 生成条码
/// </summary>
/// <param name="orderNo"></param>
/// <returns></returns>
public Hashtable onBarcodeGenerator(string orderNo, string userId, string factoryId, string factoryCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string orderNoVal = "";
string[] orderNoArr = orderNo.Split(",");
for (int i = 0; i < orderNoArr.Length; i++)
{
orderNoVal += orderNo + ",";
}
orderNoVal = orderNoVal.Substring(0, orderNoVal.Length - 1);
string detailPur = @"SELECT a.order_no,a.order_type,a.order_status,b.part_id,b.part_no,b.part_spec,b.qty,b.unit,b.dest_warehouse_id,b.dest_warehouse_name,b.dest_zone_id,b.dest_zone_name,b.dest_erp_warehouse,c.default_box_qty FROM dbo.wms_instock a (nolock) left JOIN dbo.wms_instock_detail b (nolock) ON a.order_no=b.order_no
LEFT JOIN dbo.sys_part c (nolock) ON b.part_id=c.part_id where a.order_no in (" + orderNoVal + ")";
List<WmsInstockDetail> WmsInstockDetailInfo = dbConn.Query<WmsInstockDetail>(detailPur).ToList();
List<string> sqlInsert = new List<string>();
List<DynamicParameters> parameInsert = new List<DynamicParameters>();
for (int i = 0; i < WmsInstockDetailInfo.Count; i++)
{
int qty = Convert.ToInt32(WmsInstockDetailInfo[i].Qty);
int defaultBoxQty = Convert.ToInt32(WmsInstockDetailInfo[i].DefaultBoxQty) == 0 ? qty : Convert.ToInt32(WmsInstockDetailInfo[i].DefaultBoxQty);
int qtyNum = qty / defaultBoxQty;//数量
int remaNum = qty % defaultBoxQty;//求余
int vendorId = 0;//WmsInstockDetailInfo[i].VendorId;//供应商代码
string vendorCode = "";//WmsInstockDetailInfo[i].VendorName;//供应商代码
string sedate = WmsInstockDetailInfo[i].PlanDate;//交货日期
string setime = WmsInstockDetailInfo[i].PlanTime;//交货时间
int partId_I = WmsInstockDetailInfo[i].PartId;
string partNo_I = WmsInstockDetailInfo[i].PartNo;
string partSpec_I = WmsInstockDetailInfo[i].PartSpec;
string unit = WmsInstockDetailInfo[i].Unit;//单位
string dock = "";// WmsInstockDetailInfo[i].Dock;//道口
string orderNo_New = WmsInstockDetailInfo[i].OrderNo;//GetOrderNo();
StringBuilder SqlStringBuilder = new StringBuilder();
int itemNum = 0;
for (int j = 0; j < qtyNum; j++)
{
string carNo_New = GetOrderNo("StockOrder", "M");
SqlStringBuilder.Remove(0, SqlStringBuilder.Length);
SqlStringBuilder.Append("INSERT INTO dbo.sys_stock ");
SqlStringBuilder.Append(" (vendor_id,vendor_code ");
SqlStringBuilder.Append(" ,carton_no ");
SqlStringBuilder.Append(" ,part_id ,part_no ,part_spec ");
SqlStringBuilder.Append(" ,lot_no ,status ");
SqlStringBuilder.Append(" ,qty ,snp_qty ");
SqlStringBuilder.Append(" ,locate_id ,locate_name ");
SqlStringBuilder.Append(" ,group_no ,erp_warehouse ");
SqlStringBuilder.Append(" ,ref_order_no ,unit ");
SqlStringBuilder.Append(" ,dock ,warehouse_id ,warehouse_name ");
SqlStringBuilder.Append(" ,zone_id ,zone_name ");
SqlStringBuilder.Append(" ,factory_id ,factory_code ");
SqlStringBuilder.Append(" ,enabled ,create_userid ,create_time ");
SqlStringBuilder.Append(" ) ");
SqlStringBuilder.Append(" VALUES ");
SqlStringBuilder.Append(" (@vendorId ,@vendorCode ");
SqlStringBuilder.Append(" ,@cartonNo ");
SqlStringBuilder.Append(" ,@partId ,@partNo ,@partSpec ");
SqlStringBuilder.Append(" ,@lotNo ,@status ");
SqlStringBuilder.Append(" ,@qty ,@snpQty ");
SqlStringBuilder.Append(" ,@locateId,@locateName ");
SqlStringBuilder.Append(" ,@groupNo ,@erpWarehouse ");
SqlStringBuilder.Append(" ,@refOrderNo ,@unit ");
SqlStringBuilder.Append(" ,@dock ,@warehouseId ,@warehouseName ");
SqlStringBuilder.Append(" ,@zoneId ,@zoneName ");
SqlStringBuilder.Append(" ,@factoryId,@factoryCode ");
SqlStringBuilder.Append(" ,@enabled,@createUserid ");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21) ");
SqlStringBuilder.Append(" ) ");
DynamicParameters param3 = new DynamicParameters();
param3.Add("@vendorId", vendorId);
param3.Add("@vendorCode", vendorCode);
param3.Add("@cartonNo", carNo_New);
param3.Add("@partId", partId_I);
param3.Add("@partNo", partNo_I);
param3.Add("@partSpec", partSpec_I);
param3.Add("@lotNo", DateTime.Now.ToString("yyyyMMdd"));
if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.OUTSOURCE_BACK)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.SHIPPED);
}
else if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.EXCEPTION_IN_STOCK)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITINSTOCKED);
}
else if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.RESERVE_IN)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITINSTOCKED);
}
else
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITING_INSTOCK);
}
param3.Add("@qty", defaultBoxQty);
param3.Add("@snpQty", defaultBoxQty);
param3.Add("@locateId", 0);
param3.Add("@locateName", "");
param3.Add("@groupNo", "");
param3.Add("@erpWarehouse", WmsInstockDetailInfo[i].DestErpWarehouse);
param3.Add("@refOrderNo", orderNo_New);
param3.Add("@unit", unit);
param3.Add("@dock", dock);
param3.Add("@warehouseId", 0);
param3.Add("@warehouseName", "");
param3.Add("@zoneId", 0);
param3.Add("@zoneName", "");
param3.Add("@factoryId", factoryId);
param3.Add("@factoryCode", factoryCode);
param3.Add("@enabled", "Y");
param3.Add("@createUserid", userId);
sqlInsert.Add(SqlStringBuilder.ToString());
parameInsert.Add(param3);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.wms_instock_sn ");
SqlStringBuilder.Append(" (order_no,item_no ");
SqlStringBuilder.Append(" ,part_id,part_no,part_spec ");
SqlStringBuilder.Append(" ,carton_no,qty,unit ");
SqlStringBuilder.Append(" ,status ");
SqlStringBuilder.Append(" ,factory_id,factory_code ");
SqlStringBuilder.Append(" ,enabled,create_userid ");
SqlStringBuilder.Append(" ,create_time,guid) ");
SqlStringBuilder.Append(" VALUES ");
SqlStringBuilder.Append(" (@orderNo,@itemNo ");
SqlStringBuilder.Append(" ,@partId,@partNo,@partSpec ");
SqlStringBuilder.Append(" ,@cartonNo,@qty ");
SqlStringBuilder.Append(" ,@unit,@status ");
SqlStringBuilder.Append(" ,@factoryId,@factoryCode");
SqlStringBuilder.Append(" ,'Y',@createUserid ");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21) ");
SqlStringBuilder.Append(" ,NEWID()) ");
param3 = new DynamicParameters();
param3.Add("@orderNo", orderNo_New);
param3.Add("@itemNo", itemNum);
param3.Add("@partId", partId_I);
param3.Add("@partNo", partNo_I);
param3.Add("@partSpec", partSpec_I);
param3.Add("@cartonNo", carNo_New);
param3.Add("@qty", defaultBoxQty);
param3.Add("@unit", unit);
param3.Add("@status", (int)WmsEnumUtil.MoveOrderSnStatus.GENERATED);
param3.Add("@factoryId", factoryId);
param3.Add("@factoryCode", factoryCode);
param3.Add("@createUserid", userId);
sqlInsert.Add(SqlStringBuilder.ToString());
parameInsert.Add(param3);
}
if (remaNum > 0)
{
string carNo_New = GetOrderNo("StockOrder", "M");// repository.GetOrderNo();
SqlStringBuilder.Remove(0, SqlStringBuilder.Length);
SqlStringBuilder.Append("INSERT INTO dbo.sys_stock ");
SqlStringBuilder.Append(" (vendor_id,vendor_code ");
SqlStringBuilder.Append(" ,carton_no ");
SqlStringBuilder.Append(" ,part_id ,part_no ,part_spec ");
SqlStringBuilder.Append(" ,lot_no ,status ");
SqlStringBuilder.Append(" ,qty ,snp_qty ");
SqlStringBuilder.Append(" ,locate_id ,locate_name ");
SqlStringBuilder.Append(" ,group_no ,erp_warehouse ");
SqlStringBuilder.Append(" ,ref_order_no ,unit ");
SqlStringBuilder.Append(" ,dock ,warehouse_id ,warehouse_name ");
SqlStringBuilder.Append(" ,zone_id ,zone_name ");
SqlStringBuilder.Append(" ,factory_id ,factory_code ");
SqlStringBuilder.Append(" ,enabled ,create_userid ,create_time ");
SqlStringBuilder.Append(" ) ");
SqlStringBuilder.Append(" VALUES ");
SqlStringBuilder.Append(" (@vendorId ,@vendorCode ");
SqlStringBuilder.Append(" ,@cartonNo ");
SqlStringBuilder.Append(" ,@partId ,@partNo ,@partSpec ");
SqlStringBuilder.Append(" ,@lotNo ,@status ");
SqlStringBuilder.Append(" ,@qty ,@snpQty ");
SqlStringBuilder.Append(" ,@locateId,@locateName ");
SqlStringBuilder.Append(" ,@groupNo ,@erpWarehouse ");
SqlStringBuilder.Append(" ,@refOrderNo ,@unit ");
SqlStringBuilder.Append(" ,@dock ,@warehouseId ,@warehouseName ");
SqlStringBuilder.Append(" ,@zoneId ,@zoneName ");
SqlStringBuilder.Append(" ,@factoryId,@factoryCode ");
SqlStringBuilder.Append(" ,@enabled,@createUserid ");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21) ");
SqlStringBuilder.Append(" ) ");
DynamicParameters param3 = new DynamicParameters();
param3.Add("@vendorId", vendorId);
param3.Add("@vendorCode", vendorCode);
param3.Add("@cartonNo", carNo_New);
param3.Add("@partId", partId_I);
param3.Add("@partNo", partNo_I);
param3.Add("@partSpec", partSpec_I);
param3.Add("@lotNo", DateTime.Now.ToString("yyyyMMdd"));
if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.OUTSOURCE_BACK)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.SHIPPED);
}
else if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.EXCEPTION_IN_STOCK)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITINSTOCKED);
}
else if (WmsInstockDetailInfo[i].OrderType == (int)WmsEnumUtil.InStockType.RESERVE_IN)
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITINSTOCKED);
}
else
{
param3.Add("@status", (int)WmsEnumUtil.StockStatus.WAITING_INSTOCK);
}
param3.Add("@qty", remaNum);
param3.Add("@snpQty", defaultBoxQty);
param3.Add("@locateId", 0);
param3.Add("@locateName", "");
param3.Add("@groupNo", "");
param3.Add("@erpWarehouse", WmsInstockDetailInfo[i].DestErpWarehouse);
param3.Add("@refOrderNo", orderNo_New);
param3.Add("@unit", unit);
param3.Add("@dock", dock);
param3.Add("@warehouseId", 0);
param3.Add("@warehouseName", "");
param3.Add("@zoneId", 0);
param3.Add("@zoneName", "");
param3.Add("@factoryId", factoryId);
param3.Add("@factoryCode", factoryCode);
param3.Add("@enabled", "Y");
param3.Add("@createUserid", userId);
sqlInsert.Add(SqlStringBuilder.ToString());
parameInsert.Add(param3);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.wms_instock_sn ");
SqlStringBuilder.Append(" (order_no,item_no ");
SqlStringBuilder.Append(" ,part_id,part_no,part_spec ");
SqlStringBuilder.Append(" ,carton_no,qty ");
SqlStringBuilder.Append(" ,unit,status ");
SqlStringBuilder.Append(" ,factory_id,factory_code ");
SqlStringBuilder.Append(" ,enabled,create_userid ");
SqlStringBuilder.Append(" ,create_time,guid) ");
SqlStringBuilder.Append(" VALUES ");
SqlStringBuilder.Append(" (@orderNo,@itemNo ");
SqlStringBuilder.Append(" ,@partId,@partNo,@partSpec ");
SqlStringBuilder.Append(" ,@cartonNo,@qty,@unit ");
SqlStringBuilder.Append(" ,@status ");
SqlStringBuilder.Append(" ,@factoryId,@factoryCode ");
SqlStringBuilder.Append(" ,'Y',@createUserid ");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21) ");
SqlStringBuilder.Append(" ,NEWID()) ");
param3 = new DynamicParameters();
param3.Add("@orderNo", orderNo_New);
param3.Add("@itemNo", itemNum);
param3.Add("@partId", partId_I);
param3.Add("@partNo", partNo_I);
param3.Add("@partSpec", partSpec_I);
param3.Add("@cartonNo", carNo_New);
param3.Add("@qty", remaNum);
param3.Add("@unit", unit);
param3.Add("@status", (int)WmsEnumUtil.MoveOrderSnStatus.GENERATED);
param3.Add("@factoryId", factoryId);
param3.Add("@factoryCode", factoryCode);
param3.Add("@createUserid", userId);
sqlInsert.Add(SqlStringBuilder.ToString());
parameInsert.Add(param3);
}
}
Hashtable result = new Hashtable();
if (!ExecuteSqlTransaction(sqlInsert, parameInsert))
{
result.Add("message", "生成条码失败,请重查看!");
result.Add("flag", "error");
}
else
{
List<string> sqlUpdate = new List<string>();
List<DynamicParameters> parameUpdate = new List<DynamicParameters>();
string updateSql = "update wms_instock set order_status=@orderStatus where order_no in (" + orderNoVal + ")";
sqlUpdate.Add(updateSql);
DynamicParameters dynamic = new DynamicParameters();
dynamic.Add("@orderStatus", (int)WmsEnumUtil.MoveOrderStatus.GENERATED);
parameUpdate.Add(dynamic);
string updateSql2 = "update wms_instock_detail set item_status=@itemStatus where order_no in (" + orderNoVal + ")";
sqlUpdate.Add(updateSql2);
dynamic = new DynamicParameters();
dynamic.Add("@itemStatus", (int)WmsEnumUtil.MoveOrderStatus.GENERATED);
parameUpdate.Add(dynamic);
if (this.ExecuteSqlTransaction(sqlUpdate, parameUpdate))
{
result.Add("message", "生成条码成功");
result.Add("flag", "OK");
}
else
{
result.Add("message", "生成条码失败");
result.Add("flag", "No");
}
}
return result;
}
}
public bool ExecuteSqlTransaction(List<string> sqlStrings, List<DynamicParameters> parameters)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
IDbTransaction transaction = dbConn.BeginTransaction();
try
{
for (int i = 0; i < sqlStrings.Count; i++)
{
dbConn.Execute(sqlStrings[i], parameters[i], transaction);
}
transaction.Commit();
return true;
}
catch (Exception ex)
{
transaction.Rollback();
return false;
}
}
}
/// <summary>
/// 获取下拉框菜单数据 这里显示的是待添加的厂区信息,厂区名称
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectFactory()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select factory_id as [value],factory_name as [key] from sys_factory where Enabled = 'Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> getSelectWarehouse()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select warehouse_id as [value],warehouse_desc as [key] from sys_warehouse where Enabled = 'Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<SysWarehouse> getSelectWarehouse(string warehouseid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_warehouse where Enabled = 'Y' and warehouse_id='" + warehouseid + "'");
List<SysWarehouse> result = dbConn.Query<SysWarehouse>(strSql.ToString()).ToList();
return result;
}
}
public List<SysWarehouse> getSelectWarehouseByName(string warehouseName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_warehouse where Enabled = 'Y' and warehouse_name='" + warehouseName + "'");
List<SysWarehouse> result = dbConn.Query<SysWarehouse>(strSql.ToString()).ToList();
return result;
}
}
public List<SysZone> getSelectZone(string zoneid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_zone where Enabled = 'Y' and zone_id='" + zoneid + "'");
List<SysZone> result = dbConn.Query<SysZone>(strSql.ToString()).ToList();
return result;
}
}
public List<SysZone> getSelectZoneByName(string zoneName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_zone where Enabled = 'Y' and zone_name='" + zoneName + "'");
List<SysZone> result = dbConn.Query<SysZone>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> getSelectZone()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select zone_id as [value],zone_name as [key] from sys_zone where Enabled = 'Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> getSelectLocateDown(string zoneId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select locate_id as [value],locate_name as [key] from sys_locate where Enabled = 'Y' and zone_Id=" + zoneId);
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<SysLocate> getSelectLocate(string locateid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_locate where Enabled = 'Y' and locate_id='" + locateid + "'");
List<SysLocate> result = dbConn.Query<SysLocate>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> getSelectVendor()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select vendor_id as [value],vendor_name as [key] from sys_Vendor where Enabled = 'Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<SysVendor> getSelectVendor(string vendor_code)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_Vendor where Enabled = 'Y' and vendor_code='" + vendor_code + "'");
List<SysVendor> result = dbConn.Query<SysVendor>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> getSelectCustomer()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select customer_id as [value],customer_name as [key] from sys_customer where Enabled = 'Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<SysCustomer> getSelectCustomer(string customerId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_customer where Enabled = 'Y' and customer_id='" + customerId + "'");
List<SysCustomer> result = dbConn.Query<SysCustomer>(strSql.ToString()).ToList();
return result;
}
}
public List<KeyValueResult> GetPart(int type)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id as [value],part_no as [key] FROM sys_part (NOLOCK) WHERE enabled='Y' ORDER BY part_no";
DynamicParameters param = new DynamicParameters();
param.Add("@part_type", type);
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(sql, param).ToList();
return result;
}
}
public List<SysPart> GetPart(int type, string PartNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT * FROM sys_part (NOLOCK) WHERE enabled='Y' and part_no='" + PartNo + "' ORDER BY part_no";
DynamicParameters param = new DynamicParameters();
param.Add("@part_type", type);
List<SysPart> result = dbConn.Query<SysPart>(sql, param).ToList();
return result;
}
}
/// <summary>
/// 获取订单编号
/// </summary>
/// <returns></returns>
public string GetOrderNo(string stockOrder, string p)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters list = new DynamicParameters();
list.Add("@order_type", stockOrder);
list.Add("@order_prefix", p);
list.Add("@order_no", null, DbType.String, ParameterDirection.Output, 50);
var hashtable = dbConn.Execute("sys_create_orderno", list, commandType: CommandType.StoredProcedure);
string result = list.Get<string>("@order_no");
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public bool saveMovementManage(WmsInstock htParams, IList<WmsInstockDetail> htDetailParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
string orderNo = GetOrderNo("ShiftProduction", "P");
if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.PICK)
{
orderNo = GetOrderNo("ShiftProduction", "P");//生产领料单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.EXCEPTION_IN_STOCK)
{
orderNo = GetOrderNo("ShiftSporadicEntry", "I");//零星入库单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.EXCEPTION_OUT_STOCK)
{
orderNo = GetOrderNo("ShiftOutgoing", "O");//零星出库单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.NC_IN_STOCK)
{
orderNo = GetOrderNo("ShiftWarehouse", "M");//NC入库
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.NC_CONCESSION)
{
orderNo = GetOrderNo("ShiftNCOutbound", "R");//NC出库单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.NC_SCRAP)
{
orderNo = GetOrderNo("ShiftNCScrap", "S");//NC报废单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.NO_JIS_SHIPPING)
{
orderNo = GetOrderNo("ShiftNonJis", "F");//非JIS发运单
}
else if (htParams.OrderType == (int)WmsEnumUtil.MoveOrderType.NC_MOVE)
{
orderNo = GetOrderNo("ShiftWarehouse", "M");//NC移库单
}
htParams.OrderNo = orderNo;
List<string> sqlLists = new List<string>();
List<DynamicParameters> parameters = new List<DynamicParameters>();
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.wms_instock(order_no,order_type,order_status,vendor_id,vendor_code,customer_id,customer_code,ref_order_no,factory_id,factory_code,enabled,create_userid,create_time,guid)");
SqlStringBuilder.Append("VALUES(@orderNo, @orderType, @orderStatus,@vendorId,@vendorCode,@customerId,@customerCode,@refOrderNo, @factoryId, @factoryCode, @enabled, @createUserid, CONVERT(varchar(50), GETDATE(), 21), newid()) ");
sqlLists.Add(SqlStringBuilder.ToString());
DynamicParameters dynamic = new DynamicParameters();
dynamic.Add("@orderNo", htParams.OrderNo);
dynamic.Add("@orderType", htParams.OrderType);
dynamic.Add("@orderStatus", 10);
dynamic.Add("@vendorId", htParams.VendorId);
dynamic.Add("@vendorCode", htParams.VendorCode);
dynamic.Add("@customerId", htParams.CustomerId);
dynamic.Add("@customerCode", htParams.CustomerCode);
dynamic.Add("@refOrderNo", htParams.RefOrderNo);
dynamic.Add("@enabled", "Y");
dynamic.Add("@factoryId", htParams.FactoryId);
dynamic.Add("@factoryCode", htParams.FactoryCode);
dynamic.Add("@createUserid", htParams.CreateUserId);
parameters.Add(dynamic);
for (int i = 0; i < htDetailParams.Count; i++)
{
StringBuilder SqlDetailStringBuilder = new StringBuilder(1024);
SqlDetailStringBuilder.Append("INSERT INTO dbo.wms_instock_detail(order_no,item_no,part_id,part_no,part_spec,qty,rec_qty,unit,plan_date,plan_time,item_status");
SqlDetailStringBuilder.Append(", dest_warehouse_id, dest_warehouse_name, dest_zone_id");
SqlDetailStringBuilder.Append(", dest_zone_name,dest_locate_id,dest_locate_name , dest_erp_warehouse, factory_id, factory_code, enabled, create_userid, create_time, guid)");
SqlDetailStringBuilder.Append("VALUES(@orderNo, @itemNo, @partId, @partNo, @partSpec, @qty, @recQty, @unit, @planDate, @planTime, @itemStatus");
SqlDetailStringBuilder.Append(", @destWarehouseId, @destWarehouseName, @destZoneId, @destZoneName,@destLocateId,@destLocateName, @destErpWarehouse");
SqlDetailStringBuilder.Append(", @factoryId, @factoryCode, @enabled, @createUserid, CONVERT(varchar(50), GETDATE(), 21), newid())");
sqlLists.Add(SqlDetailStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", orderNo);
dynamic.Add("@itemNo", htDetailParams[i].ItemNo);
dynamic.Add("@partId", htDetailParams[i].PartId);
dynamic.Add("@partNo", htDetailParams[i].PartNo);
dynamic.Add("@partSpec", htDetailParams[i].PartSpec);
dynamic.Add("@qty", htDetailParams[i].Qty);
dynamic.Add("@recQty", htDetailParams[i].RecQty);
dynamic.Add("@unit", htDetailParams[i].Unit);
dynamic.Add("@planDate", htDetailParams[i].PlanDate);
dynamic.Add("@planTime", htDetailParams[i].PlanTime);
dynamic.Add("@itemStatus", "10");
dynamic.Add("@destWarehouseId", htDetailParams[i].DestWarehouseId);
dynamic.Add("@destWarehouseName", htDetailParams[i].DestWarehouseName);
dynamic.Add("@destZoneId", htDetailParams[i].DestZoneId);
dynamic.Add("@destZoneName", htDetailParams[i].DestZoneName);
dynamic.Add("@destLocateId", htDetailParams[i].DestLocateId);
dynamic.Add("@destLocateName", htDetailParams[i].DestLocateName);
dynamic.Add("@destErpWarehouse", htDetailParams[i].DestErpWarehouse);
dynamic.Add("@factoryId", htDetailParams[i].FactoryId);
dynamic.Add("@factoryCode", htDetailParams[i].FactoryCode);
dynamic.Add("@enabled", "Y");
dynamic.Add("@createUserid", htDetailParams[i].CreateUserId);
parameters.Add(dynamic);
}
bool flag = ExecuteTransaction(sqlLists, parameters);
return flag;
}
}
public List<SysVendor> GetfileVendor(string vendorName, int factoryId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT vendor_id,vendor_code,vendor_name FROM sys_vendor (NOLOCK) WHERE enabled='Y' AND vendor_name LIKE '%" + vendorName + "%' and factory_id=" + factoryId + " ORDER BY vendor_name";
List<SysVendor> result = dbConn.Query<SysVendor>(sql).ToList();
return result;
}
}
public SysVendor GetVendorInfoByName(string vendorName, int factoryId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT vendor_id,vendor_code,vendor_name FROM sys_vendor (NOLOCK) WHERE enabled='Y' AND vendor_name= '" + vendorName + "' and factory_id=" + factoryId;
SysVendor result = dbConn.Query<SysVendor>(sql).FirstOrDefault();
return result;
}
}
/// <summary>
/// 获得零件信息
/// </summary>
/// <returns></returns>
public List<SysPart> GetPartNoInfo(string part_no)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id,part_no,part_spec,default_box_qty FROM sys_part (NOLOCK) WHERE enabled='Y' AND part_no LIKE '%" + part_no + "%' ORDER BY part_no";
List<SysPart> result = dbConn.Query<SysPart>(sql).ToList();
return result;
}
}
/// <summary>
/// 获得零件信息
/// </summary>
/// <returns></returns>
public List<SysPart> GetPartNoInfoByPartNo(string part_no)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id,part_no,part_spec,default_box_qty,unit FROM sys_part (NOLOCK) WHERE enabled='Y' AND part_no = '" + part_no + "'";
List<SysPart> result = dbConn.Query<SysPart>(sql).ToList();
return result;
}
}
/// <summary>
/// 获得零件简码信息
/// </summary>
/// <returns></returns>
public List<SysPart> GetPartSpecInfo(string partSpec)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id,part_no,part_spec,default_box_qty FROM sys_part (NOLOCK) WHERE enabled='Y' AND part_spec LIKE '%" + partSpec + "%' ORDER BY part_no";
List<SysPart> result = dbConn.Query<SysPart>(sql).ToList();
return result;
}
}
public List<SysPart> GetPartSpecInfoByPartSpec(string partSpec)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id,part_no,part_spec,default_box_qty FROM sys_part (NOLOCK) WHERE enabled='Y' AND part_spec = '" + partSpec + "'";
List<SysPart> result = dbConn.Query<SysPart>(sql).ToList();
return result;
}
}
//关闭
public bool onClose(String ids, String empId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
List<string> sqlLists = new List<string>();
List<DynamicParameters> parameters = new List<DynamicParameters>();
DynamicParameters dynamic = new DynamicParameters();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock set order_status='60',update_userid=@updateUserid,update_time = CONVERT(varchar(50), GETDATE(), 21) WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@updateUserid", empId);
parameters.Add(dynamic);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock_detail set item_status='100',update_userid=@updateUserid,update_time = CONVERT(varchar(50), GETDATE(), 21) WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@updateUserid", empId);
parameters.Add(dynamic);
bool flag = ExecuteTransaction(sqlLists, parameters);
return flag;
}
}
//启用
public bool EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
List<string> sqlLists = new List<string>();
List<DynamicParameters> parameters = new List<DynamicParameters>();
DynamicParameters dynamic = new DynamicParameters();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock set Enabled='Y' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock_detail set Enabled='Y' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock_sn set Enabled='Y' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
bool flag = ExecuteTransaction(sqlLists, parameters);
return flag;
}
}
//禁用
public bool DisableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
List<string> sqlLists = new List<string>();
List<DynamicParameters> parameters = new List<DynamicParameters>();
DynamicParameters dynamic = new DynamicParameters();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock set Enabled='N' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock_detail set Enabled='N' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_instock_sn set Enabled='N' WHERE order_no in (" + ids + ")");
sqlLists.Add(SqlStringBuilder.ToString());
dynamic = new DynamicParameters();
dynamic.Add("@orderNo", ids);
parameters.Add(dynamic);
bool flag = ExecuteTransaction(sqlLists, parameters);
return flag;
}
}
//事务批量执行添加、修改
public bool InsertData(List<string> sqlStrings, List<DynamicParameters> parameterList)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
if (dbConn.State == ConnectionState.Closed)
{
dbConn.Open();
}
//执行事务
IDbTransaction transaction = dbConn.BeginTransaction();
if (parameterList == null || parameterList.Count == 0)
{
try
{
for (int i = 0; i < sqlStrings.Count; i++)
{
dbConn.Execute(sqlStrings[i], null, transaction);
}
transaction.Commit();
return true;
}
catch (Exception exception)
{
transaction.Rollback();
return false;
}
}
else
{
try
{
for (int i = 0; i < sqlStrings.Count; i++)
{
dbConn.Execute(sqlStrings[i], parameterList[i], transaction);
}
transaction.Commit();
return true;
}
catch (Exception exception)
{
transaction.Rollback();
return false;
}
}
}
}
#endregion 成员方法
}
}