|
|
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace ICSSoft.Common { /// <summary>
/// 公共验证方法
/// </summary>
public class VerificationMethod { private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"]; private static string ERPDB = System.Configuration.ConfigurationManager.AppSettings["ERPDB"]; SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
/// <summary>
/// 库存验证物料
/// </summary>
/// <param name="LotNo">条码</param>
/// <param name="WorkPoint">站点</param>
/// <param name="TransCode">源头单据</param>
/// <returns></returns>
public string HouseLotInvCode(string LotNo, string WorkPoint,string TransCode) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { //验证条码物料是否相同
string sql = @"select * from ICSWareHouseLotInfo where LotNo='{0}' and WorkPoint='{2}' and InvCode in (select A.InvCode from ICSMOPick a left join ICSMO b on b.id=a.MODetailID where b.MOCode='{1}' AND B.WorkPoint='{2}')"; sql = string.Format(sql, LotNo, TransCode, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码对应物料不符!"); } else { //验证仓库
// HouseLotWHCode(LotNo, WorkPoint);
} } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); } return null; }
/// <summary>
/// 库存验证仓库
/// </summary>
/// <param name="LotNo">条码</param>
/// <param name="WorkPoint">站点</param>
/// <param name="TransCode">源头单据</param>
/// <returns></returns>
public string HouseLotWHCode(string LotNo, string WorkPoint) { // conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { //验证条码仓库是否相同
string sql = @"select * from ICSWarehouse where WorkPoint='{1}' and WarehouseCode in (select WarehouseCode from ICSWareHouseLotInfo where LotNo='{0}' AND WorkPoint='{1}')"; sql = string.Format(sql, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码对应仓库不符!"); } else { //验证项目号
HouseLotProjectCode(LotNo, WorkPoint); } } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); } return null; }
/// <summary>
/// 库存验证项目号
/// </summary>
/// <param name="LotNo">条码</param>
/// <param name="WorkPoint">站点</param>
/// <param name="TransCode">源头单据</param>
/// <returns></returns>
public string HouseLotProjectCode(string LotNo, string WorkPoint) { // conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { //验证条码项目号是否相同
string sql = @"select ProjectCode from ICSExtension where WorkPoint='{1}' and id in (select ExtensionID from ICSInventoryLot where WorkPoint='{1}' and LotNo='{0}' )"; sql = string.Format(sql, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码对应项目号不符!"); } else { //验证批次
HouseLotBatchCode(LotNo, WorkPoint); } } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); }
} return null; }
/// <summary>
/// 库存验证批次
/// </summary>
/// <param name="LotNo">条码</param>
/// <param name="WorkPoint">站点</param>
/// <param name="TransCode">源头单据</param>
/// <returns></returns>
public string HouseLotBatchCode(string LotNo, string WorkPoint) { // conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { //验证条码批次是否相同
string sql = @"select BatchCode from ICSExtension where WorkPoint='{1}' and id in (select ExtensionID from ICSInventoryLot where WorkPoint='{1}' and LotNo='{0}' )"; sql = string.Format(sql, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码对应批次不符!"); } else { //验证自由项
HouseLotcFree(LotNo, WorkPoint); } } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); }
} return null; } /// <summary>
/// 库存验证自由项
/// </summary>
/// <param name="LotNo">条码</param>
/// <param name="WorkPoint">站点</param>
/// <param name="TransCode">源头单据</param>
/// <returns></returns>
public string HouseLotcFree(string LotNo, string WorkPoint) { //conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { //验证条码自由项是否相同
string sql = @"select ProjectCode from ICSExtension where WorkPoint='{1}' and id in (select ExtensionID from ICSInventoryLot where WorkPoint='{1}' and LotNo='{0}' )"; sql = string.Format(sql, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码对应自由项不符!"); } else { //验证批次
} } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); }
} return null; }
/// <summary>
/// 入库条码验证
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <param name="TransCode"></param>
/// <returns></returns>
public string HouseLotoOut(string LotNo, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { string sqllist = @" select * from ICSWareHouseLotInfo where lotno ='{0}' and WorkPoint='{1}'"; sqllist = string.Format(sqllist, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sqllist, cmd); if (table.Rows.Count >0) { throw new Exception("条码已入库!"); }
} catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); }
return null; }
/// <summary>
/// 检验物料是否需要检验
/// </summary>
/// <param name="InvCode">物料</param>
/// <param name="WorkPoint">站点</param>
/// <returns></returns>
public Double LotoTest(string Lotno, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string Info; int InvIQC = 0; ///根据物料+站点查询数据
string sql = @"select InvIQC from ICSInventory where InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LOTNO='{0}' and WorkPoint='{1}') and WorkPoint='{1}' "; sql = string.Format(sql, Lotno, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count > 0) { foreach (DataRow item in table.Rows) { InvIQC = Convert.ToInt32(item["InvIQC"]);
} if (InvIQC == 1) { Double num = QualifiedQuantity(Lotno, WorkPoint); return num; } else { //查询条码数量
return 0.0; }
} else { throw new Exception("该物料没有数据!"); }
}
/// <summary>
/// 需要检验的取检验表的数量
/// </summary>
/// <param name="Lotno"></param>
/// <param name="WorkPoint"></param>
/// <param name="InvCode"></param>
/// <returns></returns>
public double QualifiedQuantity(string Lotno, string WorkPoint) {
if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; double qualifiedQuantity = 0;//合格数量
double waiveQuantity = 0;//特采数量
double totalQuantity = 0;//总数量
string sql = @"select * from ICSInspection where Lotno='{0}' and WorkPoint='{1}' and InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LOTNO='{0}' and WorkPoint='{1}')"; sql = string.Format(sql, Lotno, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count <= 0) { throw new Exception("该条码没有检验!"); } else { foreach (DataRow item in table.Rows) { qualifiedQuantity = Convert.ToDouble(item["QualifiedQuantity"]); waiveQuantity = Convert.ToDouble(item["WaiveQuantity"]); totalQuantity = qualifiedQuantity + waiveQuantity; } return totalQuantity; }
}
/// <summary>
/// 验证是否到货
/// </summary>
/// <param name="POID"></param>
/// <param name="WorkPoint"></param>
/// <returns></returns>
public bool DeliveryNotice(string LOTNO, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select
a.ID, H.ContainerCODE, H.ContainerName, A.InvCode, F.InvName, F.InvStd, a.Quantity, F.InvUnit, F.AmountUnit, E.ProjectCode, E.BatchCode, E.Version, E.Brand, c.POCode as TransCode,--来源单据 c.Sequence as TransSequence,--来源行号 A.LotNo, E.cFree1, E.cFree2, E.cFree3, E.cFree4, E.cFree5, E.cFree6, E.cFree7, E.cFree8, E.cFree9, E.cFree10 FROM ICSInventoryLot A LEFT JOIN ICSInventoryLotDetail B ON A.LotNo =B.LotNo LEFT JOIN ICSPurchaseOrder C ON b.TransCode=C.POCode AND C.Sequence=B.TransSequence LEFT JOIN ICSExtension E ON E.ID=A.ExtensionID LEFT JOIN ICSInventory F ON A.InvCode=F.InvCode LEFT JOIN ICSContainerLot G ON A.LotNo =G.LotNo LEFT JOIN ICSContainer H ON H.ContainerID=G.ID where a.lotno='{0}' and a.WorkPoint ='{1}'";
sql = string.Format(sql, LOTNO, WorkPoint); DataTable dataTable = DBHelper.SQlReturnData(sql, cmd); if (dataTable.Rows.Count <= 0) { throw new Exception("请先到货" + LOTNO); } else { bool ttt = true; return ttt; }
}
/// <summary>
/// 查询送货单是否存在
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <returns></returns>
public bool SNDetail(string LotNo, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select * from ICSASNDetail where LotNo='{0}' and WorkPoint='{1}'"; sql = string.Format(sql, LotNo, WorkPoint); DataTable data = DBHelper.SQlReturnData(sql, cmd); if (data.Rows.Count <= 0) { throw new Exception("送货单不存在!"); } else { bool num = DeliveryNotice(LotNo, WorkPoint); return num;
}
} #region 验证库存是否存在
/// <summary>
/// 验证库存是否存在
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <returns></returns>
public bool HouseLotInfo(string LotNo, string WorkPoint, string type) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select * from ICSWareHouseLotInfo where LotNo='{0}' and WorkPoint='{1}'"; sql = string.Format(sql, LotNo, WorkPoint); DataTable data = DBHelper.SQlReturnData(sql, cmd); if (data.Rows.Count < 0) { switch (type) { case "退货": throw new Exception("该条码已入库!"); case "发货": throw new Exception("该条码无库存!"); case "其它入库": throw new Exception("该条码已入库!"); case "委外发料": throw new Exception("该条码不存在!");
} } //else
//{
// throw new Exception("该条码不存在!");
//}
return true; } #endregion
public bool PurchaseOrder(string LotNo, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select* from ICSPurchaseOrder where POCode=( select TransCode from ICSInventoryLotDetail where lotno='{0}' and WorkPoint='{1}')
and Sequence=( select TransSequence from ICSInventoryLotDetail where lotno='{0}' and WorkPoint='{1}') and Status=1";
sql = string.Format(sql, LotNo, WorkPoint); DataTable data = DBHelper.SQlReturnData(sql, cmd); if (data.Rows.Count > 0) { throw new Exception("该条码没有审核,请先审核!"); } return true; }
/// <summary>
/// 库存是否存在/是否审核
/// </summary>
/// <param name="CheckCode"></param>
/// <returns></returns>
public bool isCheck(string CheckCode, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; int num; try { string sql = @"select * from ICSCheck where CheckCode='{0}' and WorkPoint='{1}'"; sql = string.Format(sql, CheckCode, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count > 0) { string sqlInfro = @"select * from ICSCheck where CheckCode='{0}' and WorkPoint='{1}' and Status='2'"; sqlInfro = string.Format(sqlInfro, CheckCode, WorkPoint); DataTable dataTable = DBHelper.SQlReturnData(sqlInfro, cmd); if (dataTable.Rows.Count <= 0) { throw new Exception("该盘点没有审核,请先审核!"); } } else { throw new Exception("该盘点不存在!"); } return true; } catch (Exception) {
throw; }
}
/// <summary>
/// 目标仓库是否一致
/// </summary>
/// <returns></returns>
public bool iSLocationCode(string lotno, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; int num; try { //库存仓库库位和调拨单是否一致
string sql = @"select * from ICSTransfer where fromWarehouseCode in (select WarehouseCode from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}')"; sql = string.Format(sql, lotno, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd);
string sqliNFO = @"select * from ICSTransfer where InvCode in (select InvCode from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}')"; sqliNFO = string.Format(sqliNFO, lotno, WorkPoint); DataTable tableiNFO = DBHelper.SQlReturnData(sqliNFO, cmd); if (table.Rows.Count > 0) { if (tableiNFO.Rows.Count > 0) { string sqlInfro = @"select * from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}' and Quantity>0"; sqlInfro = string.Format(sqlInfro, lotno, WorkPoint); DataTable dataTable = DBHelper.SQlReturnData(sqlInfro, cmd); if (dataTable.Rows.Count <= 0) { throw new Exception("调拨单库存为0!"); } else { return true; } } else { throw new Exception("物料不一致!"); }
} else { throw new Exception("仓库不一致!"); }
} catch (Exception) {
throw; } return true; }
/// <summary>
/// 调拨单
/// </summary>
/// <param name="TransCode"></param>
/// <param name="TransSequence"></param>
/// <param name="CurrentQuantity"></param>
/// <param name="LotNo"></param>
/// <returns></returns>
public bool isTransfer(string TransCode, string TransSequence, double CurrentQuantity, string LotNo, string WarehouseCode, string LocationCode, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; int num;
///调拨单是否关闭
string sql = @"select * from ICSTransfer where TransferNO='{0}' and Sequence='{1}' and Status='3'"; sql = string.Format(sql, TransCode, TransSequence); DataTable dataTable = DBHelper.SQlReturnData(sql, cmd); if (dataTable.Rows.Count <= 0) { string sqlInfo = @" select * from ICSWareHouseLotInfo where {0}<=Quantity and LotNo='{1}' "; sqlInfo = string.Format(sqlInfo, CurrentQuantity, LotNo); DataTable data = DBHelper.SQlReturnData(sqlInfo, cmd); if (data.Rows.Count <= 0) { throw new Exception("输入数量大于库存数量!"); } else { string sqlInfoList = @" select * from ICSWareHouseLotInfo where WarehouseCode='{0}' and LocationCode='{1}' and LotNo='{2}' and WorkPoint='{3}'"; sqlInfoList = string.Format(sqlInfoList, WarehouseCode, LocationCode, LotNo, WorkPoint); DataTable dataList = DBHelper.SQlReturnData(sqlInfoList, cmd); if (dataList.Rows.Count > 0) { throw new Exception("调拨库位/仓库 跟目标库位/仓库一致无需调拨"); } }
} else { throw new Exception("调拨单已关闭,不可提交!"); } return true; }
/// <summary>
/// 条码验证
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <param name="TransCode"></param>
/// <returns></returns>
public string LotoOut(string LotNo, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { string sqllist = @" select * from ICSInventoryLot where lotno ='{0}' and WorkPoint='{1}'"; sqllist = string.Format(sqllist, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sqllist, cmd); if (table.Rows.Count <= 0) { throw new Exception("条码不存在!"); }
} catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } //conn.Dispose();
}
return null; }
/// <summary>
/// 其它入库单据是否存在
/// </summary>
/// <param name="TransCode"></param>
/// <param name="WorkPoint"></param>
/// <returns></returns>
public bool IsOtherOut(string TransCode, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { string sqllist = @" select * from ICSOtherOut where OutCode ='{0}' and WorkPoint='{1}'"; sqllist = string.Format(sqllist, TransCode, WorkPoint); table = DBHelper.SQlReturnData(sqllist, cmd); if (table.Rows.Count <= 0) { throw new Exception("单据不存在!"); } } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } //conn.Dispose();
} return true; }
/// <summary>
/// 库存是否为0
/// </summary>
/// <returns></returns>
public bool isStockZero(string LotNo, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; try { string sqllist = @" select * from ICSWareHouseLotInfo where LotNo ='{0}' and WorkPoint='{1}' and Quantity>0"; sqllist = string.Format(sqllist, LotNo, WorkPoint); table = DBHelper.SQlReturnData(sqllist, cmd); if (table.Rows.Count <= 0) { throw new Exception("库存数量为0!"); } } catch (Exception ex) { //cmd.Transaction.Rollback();
log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } //conn.Dispose();
}
return true; }
/// <summary>
/// 其它出库验证
/// </summary>
/// <returns></returns>
public bool iSNullLocationCode(string lotno, string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; int num; try { //库存仓库库位和调拨单是否一致
string sql = @"select * from ICSOtherOut where WHCode in (select WarehouseCode from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}')"; sql = string.Format(sql, lotno, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd);
string sqliNFO = @"select * from ICSOtherOut where InvCode in (select InvCode from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}')"; sqliNFO = string.Format(sqliNFO, lotno, WorkPoint); DataTable tableiNFO = DBHelper.SQlReturnData(sqliNFO, cmd); if (table.Rows.Count > 0) { if (tableiNFO.Rows.Count > 0) { string sqlInfro = @"select * from ICSWareHouseLotInfo where lotno='{0}' and WorkPoint='{1}' and Quantity>0"; sqlInfro = string.Format(sqlInfro, lotno, WorkPoint); DataTable dataTable = DBHelper.SQlReturnData(sqlInfro, cmd); if (dataTable.Rows.Count <= 0) { throw new Exception("库存为0!"); } else { return true; } } else { throw new Exception("物料不一致!"); }
} else { throw new Exception("仓库不一致!"); } } catch (Exception) { throw; } }
/// <summary>
/// 验证拆卸单是否存在
/// </summary>
/// <returns></returns>
public bool isBoolDisassemblyDoc(string DABDOCCode ,string WorkPoint) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; bool num = true; try { string sql = @"select * from ICSDisassemblyDoc where DABDOCCode ='{0}' and WorkPoint='{1}')"; sql = string.Format(sql, DABDOCCode, WorkPoint); table = DBHelper.SQlReturnData(sql, cmd); if (table.Rows.Count>0) { return num; } else { throw new Exception("拆卸单不存在!"); } } catch (Exception ex) {
} return false; }
/// <summary>
/// 委外发料
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <returns></returns>
public bool Outsourcing(string LotNo, string WorkPoint, string TransCode) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select * from ICSWareHouseLotInfo where LotNo='{0}' and WorkPoint='{1}' and InvCode in (select A.InvCode from ICSOOPick a where LotNo='{0}')"; ///*left join ICSOutsourcingOrder b on a.OODetailID =b.OODetailID where OOcode='{1}' AND a.WorkPoint='{2}'*/)
sql = string.Format(sql, LotNo, WorkPoint); DataTable data = DBHelper.SQlReturnData(sql, cmd); if (data.Rows.Count <0) { throw new Exception("条码与物料不符!"); } return true; }
/// <summary>
/// 委外到货
/// </summary>
/// <param name="LotNo"></param>
/// <param name="WorkPoint"></param>
/// <param name="TransCode"></param>
/// <returns></returns>
public bool OutsourcingChre(string LotNo, string WorkPoint, string TransCode) { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; DataTable table; string sql = @"select * from ICSODeliveryNotice where OASNCode='{0}' and WorkPoint='{1}' "; sql = string.Format(sql, TransCode, WorkPoint); DataTable data = DBHelper.SQlReturnData(sql, cmd); if (data.Rows.Count > 0) { throw new Exception("条码与物料不符!"); } return true; }
} }
|