using HH.WMS.Common; using HH.WMS.Common.External; using HH.WMS.Common.Response; using HH.WMS.DAL; using HH.WMS.DAL.ERP; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Entitys; using HH.WMS.Entitys.ERP; using HH.WMS.Entitys.MoveStock; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.BLL.ERP { public class MiddleLibraryBLL : DapperBaseBLL { #region GET /// /// 获取车牌档案 /// /// /// public TN_CAR_INFOEntity GetCarInfo(string carNo) { return DALCreator.CreateErp().GetCarInfo(carNo); } public TN_ER_CAR_POUNDEntity GetCarPound(string poundNo) { return DALCreator.CreateErp().GetCarPound(poundNo); } /// /// 获取生产领料单 /// /// public List GetMaterialStockOut(string itemCode, string produceLine) { return DALCreator.CreateErp().GetMaterialStockOut(itemCode, produceLine); } public List GetMaterialStockOut(string produceLine) { return DALCreator.CreateErp().GetMaterialStockOut(produceLine); } #endregion #region UPDATE #endregion #region ADD /// /// 添加大磅单 /// /// /// public OperateResult AddCarPound(TN_ER_CAR_POUNDEntity carPound, LogPara logPara, IDbTransaction trans) { return DALCreator.CreateErp().AddCarPound(carPound, logPara, trans); } /// /// 添加原料入库明细 /// /// public OperateResult AddMaterialStockIn(TN_ER_ITEM_POUNDEntity itemPound, LogPara logPara, IDbTransaction trans) { var materialStockInDtl = new TN_SYS_MATERIAL_STOCKIN_DTLEntity { CN_S_POUND_NO = itemPound.CN_S_POUND_NO, CN_S_OP_NO = itemPound.CN_S_OP_NO, CN_S_ITEM_CODE = itemPound.CN_S_ITEM_CODE, CN_S_ITEM_NAME = itemPound.CN_S_ITEM_NAME, CN_S_ITEM_SPEC = itemPound.CN_S_ITEM_SPEC, CN_S_STOCK_CODE = itemPound.CN_S_STOCK_CODE, CN_F_WEIGHT = itemPound.CN_F_WEIGHT, CN_F_QTY = itemPound.CN_F_QTY, CN_DT_WEIGHT = itemPound.CN_DT_WEIGHT, CN_S_LOT_NO = itemPound.CN_S_LOT_NO, CN_DT_OPERATION = itemPound.CN_DT_OPERATION, CN_S_TRAY_CODE = itemPound.CN_S_TRAY_CODE, CN_S_TRAY_WEIGHT = itemPound.CN_S_TRAY_WEIGHT, CN_DT_CREATE = itemPound.CN_DT_CREATE, CN_S_CREATOR = itemPound.CN_S_CREATOR, SynchroFlag = 0 }; return DALCreator.CreateErp().AddMaterialStockIn(materialStockInDtl, logPara, null); } /// /// 添加原料出库明细 /// /// public OperateResult AddMaterialStockOut(TN_ER_MATERIAL_STOCKOUT_DTLEntity erMaterialStockOutDtl, LogPara logPara) { var materialStockOutDtl = new TN_SYS_MATERIAL_STOCKOUT_DTLEntity { CN_S_BOM_NO = erMaterialStockOutDtl.CN_S_BOM_NO, CN_N_BOM_ID = erMaterialStockOutDtl.CN_N_BOM_ID, CN_S_OP_NO = erMaterialStockOutDtl.CN_S_OP_NO, CN_S_STOCK_CODE = erMaterialStockOutDtl.CN_S_STOCK_CODE, CN_S_ITEM_CODE = erMaterialStockOutDtl.CN_S_ITEM_CODE, CN_S_ITEM_NAME = erMaterialStockOutDtl.CN_S_ITEM_NAME, CN_S_ITEM_SPEC = erMaterialStockOutDtl.CN_S_ITEM_SPEC, CN_S_LOT_NO = erMaterialStockOutDtl.CN_S_LOT_NO, CN_S_TRAY_CODE = erMaterialStockOutDtl.CN_S_TRAY_CODE, CN_S_TRAY_WEIGHT = erMaterialStockOutDtl.CN_S_TRAY_WEIGHT, CN_F_WEIGHT = erMaterialStockOutDtl.CN_F_WEIGHT, CN_F_QTY = erMaterialStockOutDtl.CN_F_QTY, CN_DT_CREATE = erMaterialStockOutDtl.CN_DT_CREATE, CN_S_CREATOR = erMaterialStockOutDtl.CN_S_CREATOR, CN_S_LINE = erMaterialStockOutDtl.CN_S_LINE, CN_DT_OPERATION = erMaterialStockOutDtl.CN_DT_OPERATION, SynchroFlag = 0, }; var result = DALCreator.CreateErp().AddMaterialStockOut(materialStockOutDtl, logPara); return result; } #endregion #region DELETE #endregion #region JOB public OperateResult SyncCarPound(List carPounds, LogPara logPara) { var result = UseTransaction(trans => { foreach (var carPound in carPounds) { var addResult = AddCarPound(carPound, logPara, null); Log.Detail(logPara, "添加磅单返回结果:" + JsonConvert.SerializeObject(addResult)); BLLCreator.Create().UpdateSyncState(carPound.CN_S_POUND_NO, 1, trans); } }); return result; } public OperateResult SyncItemPound(List itemPounds, LogPara logPara) { var result = UseTransaction(trans => { foreach (var itemPound in itemPounds) { AddMaterialStockIn(itemPound, logPara, null); BLLCreator.Create().UpdateSyncState(itemPound.CN_S_POUND_NO, 1, trans); } }); return result; } public OperateResult SyncMaterialOutDtl(List materialStockOutDtls, LogPara logPara) { var result = UseTransaction(trans => { foreach (var materialStockOutDtl in materialStockOutDtls) { AddMaterialStockOut(materialStockOutDtl, logPara); BLLCreator.Create().UpdateSyncState(materialStockOutDtl.CN_S_OP_NO, 1, trans); } }); return result; } #endregion } }