using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using MESClassLibrary.BLL.Log; using MESClassLibrary.DAL; using MESClassLibrary.DAL.BasicInfo; using MESClassLibrary.DAL.Injection; using MESClassLibrary.Model; namespace MESClassLibrary.BLL.BasicInfo { public class BarCodeBLL { private BarCodeDAl db = new BarCodeDAl(); private WmsDAL wmsDal = new WmsDAL(); private BadInjectionDAL badDb = new BadInjectionDAL(); private InjectionBoxDAL _injectionBoxDAL = new InjectionBoxDAL(); public DataTable SearchInfoByStock(string StockNo) { try { return db.SearchInfoByStock(StockNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); throw ex; //return null; } } public DataTable SearchInfoByPartNo(string partNo) { try { return db.SearchInfoByPartNo(partNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); throw ex; } } public DataTable SearchInfoByPartNo1(string partNo) { try { return db.SearchInfoByPartNo1(partNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); throw ex; //return null; } } public DataTable searchBarCode(string barcode, int flag) { try { return db.searchBarCode(barcode, flag); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public bool Add_Info(BarCodeModel md) { try { return db.AddInfo(md); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool Add_Info_New(BarCodeModel md,string tableName) { try { return db.AddInfoNew(md,tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool Add_Info_New(LocalDBService local, BarCodeModel md, string tableName) { try { return db.AddInfoNew(md, tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } /// /// 补打 /// /// /// /// /// /// public string ReprintSave(BarCodeModel md, string tableName,string oldOneBarCode,string oldBarCode,string station) { LocalDBService local = new LocalDBService(SqlHelper.GetConnSting()); try { local.BeginTrans(); //tb_barCode 更新 isDel=1 db.DelBarCode(local, oldOneBarCode, tableName,$",Des5='条码补打,新条码[{md.OneBarCode}]'"); //tb_barCode 插入 printType=2 补打 db.AddInfoNew(local, md, tableName); if(!string.IsNullOrEmpty(md.BoxNo)) { //根据箱码删除接口表tb_Injectionn_Interface中数据 wmsDal.DeleteRecord(local, md.BoxNo, oldOneBarCode, oldBarCode); } else { //根据旧条码删除接口tb_Injectionn_Interface中数据 wmsDal.DeleteInterface(local, oldOneBarCode); } md.Remark = "补打,原塑件码:" + oldOneBarCode; //不绑箱码时,补打时向接口表插入 if (string.IsNullOrEmpty(md.BoxNo)) { wmsDal.SaveInterface(local, md, "", station); } else { //整箱向wms报工了,才插入. 当前正在生产,并未整箱报工的,不向wms报工. 否则整箱报工时会冲突. if (wmsDal.IsSendPackageCode(md.BoxNo) == true) { wmsDal.SaveInterface(local, md, "", station); } } local.Commit(); return ""; } catch (Exception ex) { if (local != null) { local.Rollback(); } LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return ex.Message; } finally { if (local != null) { local.EndTrans(); } } } public DataTable SearchInfo(string stationNo) { try { return db.SearchInfo(stationNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchInfoAll() { try { return db.SearchInfoAll(); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchBarCode() { try { return db.SearchBarCode(); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchBarCodeByOne(string OneBarCode) { try { return db.SearchBarCodeByOne(OneBarCode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchBarCodeByTwo(string BarCode) { try { return db.SearchBarCodeByTwo(BarCode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchSerialNoByBarCode(string Code) { try { return db.SearchSerialNoByBarCode(Code); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchSerialNoByBarCodeNew(string Code,string tableName) { try { return db.SearchSerialNoByBarCodeNew(Code, tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); throw ex; //return null; } } public DataTable SearchSerialNoByBarCodeNew1(string Code) { try { return db.SearchSerialNoByBarCodeNew1(Code); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchInfoByBarCode(string BarCode) { try { return db.SearchInfoByBarCode(BarCode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchInfoByBarCodeNew(string BarCode,string tableName) { try { return db.SearchInfoByBarCodeNew(BarCode, tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public bool Update_Info(BarCodeModel md) { try { return db.UpdateInfo(md); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool DelBarCode(BarCodeModel md) { try { return db.DelBarCode(md); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool DelBarCode_New(BarCodeModel md,string tableName) { try { return db.DelBarCode_New(md,tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } /// /// 条码删除 --wms中间表未读数据,删除中间表,tb_barcode中IsDel=1 /// /// /// /// public string DelBarCode(string barCode, string tableName,bool isBox,string boxCode) { LocalDBService localDB = new LocalDBService(SqlHelper.GetConnSting()); try { localDB.BeginTrans(); bool wms = wmsDal.DeleteInterface(localDB, barCode); if (wms == false) { throw new Exception($"条码在wms库已报工,无法删除!"); } db.DelBarCode(localDB, barCode, tableName); if (isBox) { //箱码需要更新箱单实际数量 _injectionBoxDAL.UpdateInfo(localDB, boxCode, -1, false); } localDB.Commit(); return ""; } catch (Exception ex) { if (localDB != null) { localDB.Rollback(); } LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return ex.Message; } finally { if (localDB != null) { localDB.EndTrans(); } } } public DataTable SearchBoxIsNull(string partNo, string StationID, string tableName, string ProductNature) { try { return db.SearchBoxIsNull(partNo, StationID, tableName, ProductNature); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable IsHave(string partNo, string StationID, string tableName) { try { return db.IsHave(partNo, StationID, tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } /// /// 箱码中单个条码替换 /// /// /// /// /// /// /// public bool BarCodeReplace(string oldtableName, string newtableName, string boxCode,string oldID,string newID,string newOneBarCode,string newBarCode, BadInjectionModel model,string station) { LocalDBService localDB = new LocalDBService(SqlHelper.GetConnSting()); try { localDB.BeginTrans(); db.UpdateBoxNoByID(localDB, newtableName, boxCode, newID); //更新新条码在tb_barcode中的箱码 db.UpdateBoxNoNull(localDB, oldtableName, oldID, newBarCode); //更新就条码在tb_barcode中的箱码为空 记录一下被替代的新条码 //badDb.AddInfo(localDB, model);//不直接报废,所以不插入tb_Bad_Injection //删除旧的条码 wmsDal.DeleteRecord(localDB, boxCode, model.OneBarCode, model.BarCode); //保存新条码 wmsDal.AddRecord(localDB, boxCode, newOneBarCode, newBarCode,"0", model.Desc,"",station); localDB.Commit(); return true; } catch (Exception ex) { if(localDB != null) { localDB.Rollback(); } LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } finally { if (localDB != null) { localDB.EndTrans(); } } } public bool UpdateBoxNo(string tableName, string boxNo, string partNo) { try { return db.UpdateBoxNo(tableName, boxNo, partNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public DataTable SearchCountByBox(string boxNo, string tableName) { try { return db.SearchCountByBox(boxNo, tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public bool UpdateIsBad(string tableName, string onebarcode, string barcode) { try { return db.UpdateIsBad(tableName, onebarcode, barcode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool UpdateIsBad(LocalDBService localDB, string tableName, string onebarcode, string barcode) { return db.UpdateIsBad(localDB,tableName, onebarcode, barcode); } public bool UpdateIsBadByBoxCode(string tableName, string boxNo) { try { return db.UpdateIsBadByBoxCode(tableName, boxNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool UpdateIsBadByBoxCode(LocalDBService localDB, string tableName, string boxNo) { try { return db.UpdateIsBadByBoxCode(localDB,tableName, boxNo); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public DataTable SearchBarCode(string boxNo, string tableName, string row) { try { DataTable dt = null; if (string.IsNullOrEmpty(tableName)) { dt = db.SearchInfoByBox(boxNo); } else { dt = db.SearchBarCode(boxNo, tableName, row); } return dt; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchBarCodeByWhere(string whereStr, string tableName, string row) { try { return db.SearchBarCodeByWhere(whereStr, tableName, row); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public bool updateProductNature(string tableName, string barcode) { try { return db.updateProductNature(tableName, barcode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public DataTable SeachInfoByOne(string barCode, string tableName,int flag) { try { return db.SeachInfoByOne(barCode, tableName, flag); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public string LastBarCode(string tableName) { try { return db.LastBarCode(tableName); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return ""; } } public bool IsExist(string barCode) { try { return db.IsExist(barCode); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); return false; } } } }