protected void Page_Load(object sender, EventArgs e) { System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser; string redirectUrl = string.Format("{0}WareHouse/StockInList.aspx", NFMT.Common.DefaultValue.NftmSiteName); if (!IsPostBack) { Utility.VerificationUtility ver = new Utility.VerificationUtility(); ver.JudgeOperate(this.Page, 41, new List<NFMT.Common.OperateEnum>() { NFMT.Common.OperateEnum.提交审核, NFMT.Common.OperateEnum.作废, NFMT.Common.OperateEnum.撤返, NFMT.Common.OperateEnum.确认完成 }); this.navigation1.Routes.Add("入库登记", redirectUrl); this.navigation1.Routes.Add("入库登记明细", string.Empty); this.curStockType = (int)NFMT.Data.StyleEnum.库存类型; this.curCustomType = (int)NFMT.Data.StyleEnum.报关状态; if (string.IsNullOrEmpty(Request.QueryString["id"])) Response.Redirect(redirectUrl); int stockInId = 0; if (!int.TryParse(Request.QueryString["id"], out stockInId) || stockInId <= 0) Response.Redirect(redirectUrl); NFMT.WareHouse.BLL.StockInBLL stockInBLL = new NFMT.WareHouse.BLL.StockInBLL(); NFMT.Common.ResultModel result = stockInBLL.Get(user, stockInId); if (result.ResultStatus != 0) Response.Redirect(redirectUrl); NFMT.WareHouse.Model.StockIn stockIn = result.ReturnValue as NFMT.WareHouse.Model.StockIn; this.curStockIn = stockIn; if (stockIn != null) { NFMT.Common.AuditModel model = new NFMT.Common.AuditModel() { AssName = stockIn.AssName, DalName = stockIn.DalName, DataBaseName = stockIn.DataBaseName, Id = stockIn.Id, Status = stockIn.Status, TableName = stockIn.TableName }; string json = serializer.Serialize(model); this.hidmodel.Value = json; } //获取入库合约关联表 NFMT.WareHouse.BLL.ContractStockIn_BLL contractStockInBLL = new NFMT.WareHouse.BLL.ContractStockIn_BLL(); NFMT.Common.ResultModel res = contractStockInBLL.GetByStockInId(user, stockIn.StockInId, NFMT.Common.StatusEnum.已录入); if (res.ResultStatus == 0) { NFMT.WareHouse.Model.ContractStockIn contractStockIn = res.ReturnValue as NFMT.WareHouse.Model.ContractStockIn; if (contractStockIn != null && contractStockIn.RefId > 0) { this.curContractStockIn = contractStockIn; //获取子合约 NFMT.Contract.BLL.ContractSubBLL contractSubBLL = new NFMT.Contract.BLL.ContractSubBLL(); res = contractSubBLL.Get(user, contractStockIn.ContractSubId); if (res.ResultStatus != 0) Response.Redirect(redirectUrl); NFMT.Contract.Model.ContractSub contractSub = res.ReturnValue as NFMT.Contract.Model.ContractSub; if (contractSub == null) Response.Redirect(redirectUrl); this.curSubId = contractSub.SubId; res = stockInBLL.Load(user, contractSub.SubId, NFMT.Common.StatusEnum.已录入); if (res.ResultStatus != 0) Response.Redirect(redirectUrl); List<NFMT.WareHouse.Model.StockIn> stockIns = res.ReturnValue as List<NFMT.WareHouse.Model.StockIn>; if (stockIns == null) Response.Redirect(redirectUrl); decimal sumWeight = stockIns.Sum(temp => temp.GrossAmount); int contractId = contractSub.ContractId; //获取合约 NFMT.Contract.BLL.ContractBLL contractBLL = new NFMT.Contract.BLL.ContractBLL(); res = contractBLL.Get(user, contractId); if (res.ResultStatus != 0) Response.Redirect(redirectUrl); NFMT.Contract.Model.Contract contract = res.ReturnValue as NFMT.Contract.Model.Contract; if (contract == null) Response.Redirect(redirectUrl); this.contractExpander1.CurContract = contract; this.contractExpander1.CurContractSub = contractSub; this.contractExpander1.RedirectUrl = redirectUrl; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Utility.VerificationUtility ver = new Utility.VerificationUtility(); ver.JudgeOperate(this.Page, 41, new List<NFMT.Common.OperateEnum>() { NFMT.Common.OperateEnum.提交审核, NFMT.Common.OperateEnum.作废, NFMT.Common.OperateEnum.撤返 }); string redirectUrl = "StockInContractList.aspx"; this.navigation1.Routes.Add("入库分配列表", "StockInContractList.aspx"); this.navigation1.Routes.Add("入库分配明细", string.Empty); if (string.IsNullOrEmpty(Request.QueryString["id"])) Response.Redirect(redirectUrl); int refId = 0; if (!int.TryParse(Request.QueryString["id"], out refId)) Response.Redirect(redirectUrl); NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser; NFMT.Common.ResultModel result = new NFMT.Common.ResultModel(); //获取入库分配 NFMT.WareHouse.BLL.ContractStockIn_BLL contractStockInBLL = new NFMT.WareHouse.BLL.ContractStockIn_BLL(); result = contractStockInBLL.Get(user, refId); if (result.ResultStatus != 0) Response.Redirect(redirectUrl); NFMT.WareHouse.Model.ContractStockIn contractStockIn = result.ReturnValue as NFMT.WareHouse.Model.ContractStockIn; if (contractStockIn == null || contractStockIn.RefId <= 0) Response.Redirect(redirectUrl); this.curContractStockIn = contractStockIn; //获取入库登记 NFMT.WareHouse.BLL.StockInBLL stockInBLL = new NFMT.WareHouse.BLL.StockInBLL(); result = stockInBLL.Get(user, contractStockIn.StockInId); if (result.ResultStatus != 0) Response.Redirect(redirectUrl); NFMT.WareHouse.Model.StockIn stockIn = result.ReturnValue as NFMT.WareHouse.Model.StockIn; if (stockIn == null || stockIn.StockInId <= 0) Response.Redirect(redirectUrl); this.curStockIn = stockIn; NFMT.WareHouse.CustomTypeEnum customsType = (NFMT.WareHouse.CustomTypeEnum)stockIn.CustomType; this.CustomTypeName = customsType.ToString("F"); NFMT.User.Model.Corporation corp = NFMT.User.UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == stockIn.CorpId); if (corp != null) this.CorpName = corp.CorpName; NFMT.Data.Model.Asset asset = NFMT.Data.BasicDataProvider.Assets.FirstOrDefault(temp => temp.AssetId == stockIn.AssetId); if (asset != null) this.AssetName = asset.AssetName; NFMT.Data.Model.MeasureUnit unit = NFMT.Data.BasicDataProvider.MeasureUnits.FirstOrDefault(temp => temp.MUId == stockIn.UintId); if (unit != null) this.MUName = unit.MUName; NFMT.WareHouse.BLL.ContractStockIn_BLL bll = new NFMT.WareHouse.BLL.ContractStockIn_BLL(); NFMT.Common.SelectModel select = bll.GetContractSelect(1, 100, "si.StockInId desc", stockIn.StockInId); result = bll.Load(user, select); int totalRows = result.AffectCount; System.Data.DataTable dt = result.ReturnValue as System.Data.DataTable; this.curContractJson = Newtonsoft.Json.JsonConvert.SerializeObject(dt, new Newtonsoft.Json.Converters.DataTableConverter()); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); string json = serializer.Serialize(contractStockIn); this.hidModel.Value = json; } }
public ResultModel InsertStockInContract(UserModel user,int contractId,int subId,List<int> stockLogIds) { ResultModel result = new ResultModel(); int assetId = 0; int logDirection = 0; int customsType = 0; StockLogDAL stockLogDAL = new StockLogDAL(); StockInDAL stockInDAL = new StockInDAL(); ContractStockInDAL contractStockInDAL = new ContractStockInDAL(); StockInStockDAL stockInStockDAL = new StockInStockDAL(); foreach (int stockLogId in stockLogIds) { result = stockLogDAL.Get(user, stockLogId); if (result.ResultStatus != 0) return result; NFMT.WareHouse.Model.StockLog stockLog = result.ReturnValue as NFMT.WareHouse.Model.StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "库存流水不存在"; return result; } if(stockLog.LogStatus != StatusEnum.已生效) { result.ResultStatus = -1; result.Message = "库存流水状态不正确"; return result; } if (assetId == 0) assetId = stockLog.AssetId; if (logDirection == 0) logDirection = stockLog.LogDirection; if (customsType == 0) customsType = stockLog.CustomsType; if (assetId != stockLog.AssetId) { result.ResultStatus = -1; result.Message = "选中库存存在品种不一致"; return result; } if (logDirection != stockLog.LogDirection) { result.ResultStatus = -1; result.Message = "选中库存存在流水方向不一致"; return result; } if (customsType != stockLog.CustomsType) { result.ResultStatus = -1; result.Message = "选中库存存在关境不一致"; return result; } result = stockInStockDAL.GetByStockLogId(user, stockLog.StockLogId); if (result.ResultStatus != 0) return result; NFMT.WareHouse.Model.StockInStock stockInStock = result.ReturnValue as NFMT.WareHouse.Model.StockInStock; if (stockInStock == null || stockInStock.RefId <= 0) { result.ResultStatus = -1; result.Message = "库存流水与入库登记关系获取失败"; return result; } NFMT.WareHouse.Model.ContractStockIn contractStockIn = new NFMT.WareHouse.Model.ContractStockIn(); contractStockIn.ContractId = contractId; contractStockIn.ContractSubId = subId; contractStockIn.RefStatus = StatusEnum.已生效; contractStockIn.StockInId = stockInStock.StockInId; result = contractStockInDAL.Insert(user, contractStockIn); if (result.ResultStatus != 0) return result; } return result; }