protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindDict("Unit", ddlUnit); //将计量单位下拉框绑定字典 if (Request.QueryString["ID"] == null) //入库单录入页面 { _TPurchase = null; ClearTextBox(); //清除入库单相关服务器控件的内容 } else //入库单修改页面 { id = Request.QueryString["ID"]; //调用业务规则层-入库单服务类方法获得要修改的实体 _TPurchase = PurchaseService.Instance.GetPurchase(Convert.ToInt32(id)); ModelToTextBox(_TPurchase); //将入库单实体赋值给对应的服务器控件 } LoadData(); //加载GridView数据 EntryDetailInputPage(false); //切换到入库单页面 if (Request.QueryString["Audit"] != null || Request.QueryString["Query"] != null) { SetReadOnly(); //如果是审核或查询页面调用的,设置所有输入控件只读 } // lblOperator.Text = LoginManager.GetUserName(Context.User.Identity.Name); } }
private void ModelToTextBox(TPurchase info) { txtInvoiceCode.Text = info.Content.InvoiceCode; //发票号 if (!string.IsNullOrEmpty(info.Content.Provider)) //供应商 { hidProvider.Value = info.Content.Provider; Base_DictionaryInfo tempClient = DictionaryInfoService.Instance.GetInfo(Convert.ToInt32(info.Content.Provider)); // Base_ClientInfo tempClient = ClientInfoService.Instance.GetClientInfoByCode(info.Content.Provider); if (tempClient != null) { txtProviderName.Text = tempClient.ValueName; hidProviderName.Value = tempClient.ValueCode; } } txtPurchaseBillCode.Text = info.Content.PurchaseBillCode; //入库单号 txtPurchaseDate.Text = info.Content.PurchaseDate.ToString(); //入库日期 txtInvoiceDate.Text = info.Content.InvoiceDate.ToString(); if (!string.IsNullOrEmpty(info.Content.CheckMan)) //经办人 { lblStorageUser.Text = RequestSession.GetSessionUser().UserAccount.ToString(); // hidPurchaseMan.Value = info.Content.CheckMan; //EmployeeInfo tempEmployee = EmployeeInfoService.Instance.GetEmployeeInfoByCode(info.Content.CheckMan); //if (tempEmployee != null) //{ // txtPurchaseManName.Text = tempEmployee.Name; // hidPurchaseManName.Value = tempEmployee.Name; //} } }
private void LoadData() { TPurchase infoList = _TPurchase; //调用业务层返回货品信息列表 List <MMS_MaterialInfo> productList = MaterialInfoService.Instance.GetAllInfo(); //将入库单货品与货品信息关联 var query = from info in infoList.Detail where info.OprType != OperateType.otDelete join product in productList on info.DetDetail.ProductCode equals product.Material_ID.ToString() // where info.DetDetail.Quantity-info.DetDetail.UseQuantity>0 select new { Id = info.DetDetail.ID, info.DetDetail.PurchaseBillCode, product.Material_ID, product.Material_Name, product.Material_Specification, Unit = product.Material_Unit, info.DetDetail.Quantity, info.DetDetail.Price, info.DetDetail.SeldPrice, info.DetDetail.Lot, info.DetDetail.ValidDate, Amount = info.DetDetail.Quantity * info.DetDetail.Price }; dgvInfo.DataKeyNames = new[] { "Id" }; //设置GridView数据主键 dgvInfo.DataSource = query.ToList(); //设置GridView数据源 dgvInfo.DataBind(); //计算数量及金额汇总信息 lblTotalQuantity.Text = infoList.Detail.Sum(itm => itm.DetDetail.Quantity).ToString("#"); lblTotalAmount.Text = infoList.Detail.Sum(itm => itm.DetDetail.Quantity * itm.DetDetail.Price).ToString("#.##"); }
private TPurchase ParserAddPurchase(Purchase purchase) { TPurchase tPurchase = new TPurchase(); if (purchase != null) { tPurchase.PurchaseID = purchase.PurchaseID; tPurchase.iPurchaseInvoiceNo = purchase.iPurchaseInvoiceNo; tPurchase.strPurchaseInvoiceDate = purchase.strPurchaseInvoiceDate ?? " "; tPurchase.strSupplierName = purchase.strSupplierName; tPurchase.strMasterDecNo = purchase.strMasterDecNo ?? " "; tPurchase.strBLNo = purchase.strBLNo ?? " "; tPurchase.strArrivalDate = purchase.strArrivalDate ?? " "; tPurchase.strPurchaseInvoiceNo = purchase.strPurchaseInvoiceNo ?? " "; tPurchase.dmlConversionRate = purchase.dmlConversionRate; tPurchase.dcmlAED = purchase.dcmlAED; tPurchase.dcmlJYP = purchase.dcmlJYP; tPurchase.strPurchaseInvoiceNo = purchase.strPurchaseInvoiceNo ?? " "; tPurchase.dtPurchaseInvoiceDate = purchase.dtPurchaseInvoiceDate; tPurchase.iSupplierID = purchase.iSupplierID; tPurchase.strCustomerInvoiceNo = purchase.strCustomerInvoiceNo ?? " "; tPurchase.IsStockReceived = purchase.IsStockReceived; tPurchase.strReferenceNumber = purchase.strReferenceNumber; tPurchase.strRemark = purchase.strRemark; } return(tPurchase); }
private void TextBoxToModel(DataRow dr) { TPurchase info = _TPurchase; TPurchaseDetail tinfoDetail = new TPurchaseDetail(); tinfoDetail.DetDetail = new MMS_PurchaseDetail(); //TPurchaseDetail tinfoDetail = _TPurchase.Detail[0]; string BillCode = dr["PurchaseBillCode"].ToString().Trim(); int BillId = 0; if (BillId == 0) { info.Content.AuditFlag = false; info.Content.InvoiceCode = dr["InvoiceCode"].ToString().Trim(); info.Content.Provider = dr["Provider"].ToString().Trim(); info.Content.PurchaseBillCode = dr["PurchaseBillCode"].ToString(); if (!string.IsNullOrEmpty(dr["InvoiceDate"].ToString().Trim())) { info.Content.InvoiceDate = Convert.ToDateTime(dr["InvoiceDate"].ToString().Trim()); } if (!string.IsNullOrEmpty(dr["InvoiceCode"].ToString().Trim())) { info.Content.InvoiceCode = dr["InvoiceCode"].ToString().Trim(); } info.Content.PurchaseDate = DateTime.Now; info.Content.CheckMan = RequestSession.GetSessionUser().UserAccount.ToString(); info.Content.Operator = Context.User.Identity.Name; info.Content.OperateDate = DateTime.Now; info.OprType = OperateType.otInsert; } MMS_PurchaseDetail detail = tinfoDetail.DetDetail; detail.PurchaseBillCode = dr["PurchaseBillCode"].ToString(); //入库单号 detail.ProductCode = dr["ProductCode"].ToString(); //货品代码 detail.Lot = dr["Lot"].ToString(); //批号 detail.ValidDate = dr["ValidDate"].ToString(); //有效期 if (!string.IsNullOrEmpty(dr["Quantity"].ToString())) //数量 { detail.Quantity = Convert.ToInt32(dr["Quantity"].ToString()); } if (!string.IsNullOrEmpty(dr["Price"].ToString())) //单价 { detail.Price = Convert.ToDouble(dr["Price"].ToString()); } tinfoDetail.DetDetail = detail; tinfoDetail.OprType = OperateType.otInsert; info.Detail.Add(tinfoDetail); //将操作实体添加到入库货品集合中 int tempId = PurchaseService.Instance.SavePurchase(info); }
//public dynamic GetAllPurchaseReport() //{ // var jsonData = new // { // total = 1, // page = 1, // records = auctionContext.TPurchases.ToList().Count, // rows = ( // from purchase in // (from AM in auctionContext.TPurchases // //join t1 in auctionContext.MCountries on AM.iCountry equals t1.iCountry // //join t2 in auctionContext.MCities on AM.iCity equals t2.iCity // select new // { // PurchaseID = AM.PurchaseID, // iPurchaseInvoiceNo = AM.iPurchaseInvoiceNo, // strPurchaseInvoiceNo = AM.strPurchaseInvoiceNo, // strPurchaseInvoiceDate = AM.strPurchaseInvoiceDate, // strSupplierName = AM.strSupplierName, // strMasterDecNo = AM.strMasterDecNo, // strBLNo = AM.strBLNo, // strArrivalDate = AM.strArrivalDate, // dmlConversionRate = AM.dmlConversionRate, // dcmlAED = AM.dcmlAED, // dcmlJYP = AM.dcmlJYP, // }).OrderBy(a => a.iPurchaseInvoiceNo).ToList() // select new // { // id = purchase.PurchaseID, // cell = new string[] { // Convert.ToString(purchase.PurchaseID),Convert.ToString(purchase.iPurchaseInvoiceNo), // Convert.ToString(purchase.strPurchaseInvoiceNo),Convert.ToString(purchase.strPurchaseInvoiceDate), // Convert.ToString(purchase.strSupplierName),Convert.ToString(purchase.strMasterDecNo), // Convert.ToString(purchase.strBLNo),Convert.ToString(purchase.strArrivalDate), // Convert.ToString(purchase.dmlConversionRate), // Convert.ToString(purchase.dcmlAED), // Convert.ToString(purchase.dcmlJYP) // //,Convert.ToString(customers.iPersonID), // //Convert.ToString(customers.strPersonFirstName+" "+customers.strPersonLastName),Convert.ToString(customers.strCompanyName), // //Convert.ToString(customers.CustomerPhoto),Convert.ToString(customers.CustomerDate) // } // }).ToArray() // }; // return jsonData; //} public TPurchase Get(int id) { TPurchase purchase = new TPurchase(); //var test = from a in auctionContext.TPurchases // where a.PurchaseID == id // select a // ; purchase = auctionContext.TPurchases.Where(a => a.PurchaseID == id).SingleOrDefault(); // purchase = auctionContext.TPurchases.Where(a => a.PurchaseID == id).FirstOrDefault(); return(purchase); }
/// <summary> /// 保存入库单 /// </summary> /// <param name="obj"> 自定义入库单实体 </param> /// <returns> 入库单主表ID号 </returns> public int SavePurchase(TPurchase obj) { if (obj.Content.ID.ToString() != null && obj.Content.ID > 0) { MMS_PurchaseContent content = dao.GetInfo(obj.Content.ID); if (content.AuditFlag == true) { throw new Exception("该单据已经审核" + content.PurchaseBillCode); } } return(dao.SavePurchase(obj)); }
/// <summary> /// 入库单审核确认 /// </summary> /// <param name="id"> </param> /// <param name="isAudit"> </param> /// <param name="operatorCode"> </param> /// <returns> </returns> public bool AuditPurchase(int id, bool isAudit, string operatorCode) { using (TransactionScope ts = new TransactionScope()) //开启DTC事务 { TPurchase tPur = dao.GetPurchase(id); //取入库单组合实体 MMS_PurchaseContent content = tPur.Content; //取入库单主内容实体 if (content.AuditFlag == true) //如果入库单已审核 { throw new Exception("该单据已经审核" + content.PurchaseBillCode); } foreach (TPurchaseDetail tPurDetail in tPur.Detail) //遍历入库单货品 { MMS_Store storeParam = new MMS_Store(); storeParam.Warehouse = tPur.Content.WareHouse; storeParam.ProductCode = tPurDetail.DetDetail.ProductCode; MMS_Store sto = null; //根据仓库、货品代码取库存表中该货品信息 sto = daoStore.GetStore(storeParam); if (sto == null) //库存中没有该货品 { sto = new MMS_Store(); //创建库存表实例 sto.Warehouse = tPur.Content.WareHouse; sto.ProductCode = tPurDetail.DetDetail.ProductCode; sto.Quantity = tPurDetail.DetDetail.Quantity; sto.Price = tPurDetail.DetDetail.Price; sto.Amount = sto.Quantity * sto.Price; daoStore.InsertInfo(sto); //将该货品信息插入到库存表 sto.Memo = ""; } else //库存中有该货品 { sto.Quantity += tPurDetail.DetDetail.Quantity; //累加货品数量 //累加计算货品金额 sto.Amount += tPurDetail.DetDetail.Quantity * tPurDetail.DetDetail.Price; if (sto.Quantity > 0) { sto.Price = sto.Amount / sto.Quantity; //根据金额、数量计算单价 } daoStore.UpdateInfo(sto); //更新库存表 } } content.AuditFlag = isAudit; //入库审核标志 content.Operator = operatorCode; content.OperateDate = DateTime.Now; dao.UpdateInfo(content); //更新入库单的审核标志 ts.Complete(); //提交事务 } return(true); }
protected void btnOK_Click(object sender, EventArgs e) { TPurchase info = _TPurchase; if (string.IsNullOrEmpty(detailId)) //插入操作 { //创建入库货品实例 TPurchaseDetail tinfoDetail = new TPurchaseDetail(); tinfoDetail.DetDetail = new MMS_PurchaseDetail(); if (info.Detail.Count > 0) //新插入的以-1开始,以后渐减 { //设置新录入入库货品的主键ID,以-1开始,以后渐减 int minId = info.Detail.Min(itm => itm.DetDetail.ID); if (minId < 0) { tinfoDetail.DetDetail.ID = minId - 1; } else { tinfoDetail.DetDetail.ID = -1; } } else //该入库单没有货品信息 { tinfoDetail.DetDetail.ID = -1; } DetailTextBoxToModel(tinfoDetail); //将入库货品赋值给实体 tinfoDetail.OprType = OperateType.otInsert; info.Detail.Add(tinfoDetail); //将操作实体添加到入库货品集合中 _TPurchase = info; ClearDetailTextBox(); //清除入库货品服务器控件内容 LoadData(); //加载Gridview数据 } else //编辑操作 { //根据入库货品ID取实体 TPurchaseDetail tinfoDetail = info.Detail.First(itm => itm.DetDetail.ID == Convert.ToInt32(detailId)); DetailTextBoxToModel(tinfoDetail); //将服务器控件赋给实体 if (tinfoDetail.OprType != OperateType.otInsert) //如果是新插入的仍保留插入状态 { tinfoDetail.OprType = OperateType.otUpdate; } _TPurchase = info; LoadData(); //加载GridView数据 EntryDetailInputPage(false); //切换到入库单录入页面 } }
private void TextBoxToModel(TPurchase info) { info.Content.AuditFlag = false; info.Content.InvoiceCode = txtInvoiceCode.Text; info.Content.Provider = hidProvider.Value; info.Content.PurchaseBillCode = txtPurchaseBillCode.Text; if (!string.IsNullOrEmpty(txtInvoiceDate.Text)) { info.Content.InvoiceDate = Convert.ToDateTime(txtInvoiceDate.Text); } if (!string.IsNullOrEmpty(txtPurchaseDate.Text)) { info.Content.PurchaseDate = Convert.ToDateTime(txtPurchaseDate.Text); } info.Content.CheckMan = RequestSession.GetSessionUser().UserAccount.ToString(); }
/// <summary> /// 根据主键值获取入库单实体 /// </summary> /// <param name="id"> </param> /// <returns> </returns> public TPurchase GetPurchase(int id) { TPurchase resu = new TPurchase(); //创建入库单实体 resu.OprType = OperateType.otNone; //取入库单主内容信息赋值给实体 resu.Content = dc.MMS_PurchaseContent.Where(itm => itm.ID == id).First(); //取入库单货品明细信息 List <MMS_PurchaseDetail> tempList = dc.MMS_PurchaseDetail.Where(itm => itm.PurchaseBillCode == resu.Content.PurchaseBillCode).ToList(); foreach (MMS_PurchaseDetail item in tempList) { TPurchaseDetail TDetail = new TPurchaseDetail(); TDetail.OprType = OperateType.otNone; TDetail.DetDetail = item; resu.Detail.Add(TDetail); //将入库单货品添加到实体的入库货品列表 } return(resu); }
/// <summary> /// GridView行命令事件,点击GridView行按钮时触发的事件 /// </summary> /// <param name="sender"> </param> /// <param name="e"> </param> protected void dgvInfo_RowCommand(object sender, GridViewCommandEventArgs e) { if (!string.IsNullOrEmpty(e.CommandName)) //判断命令名是否为空 { if (e.CommandName == "Edi") //如果触发的是详细信息按钮事件 { int index = Convert.ToInt32(e.CommandArgument); //取GridView行索引 GridView grid = (GridView)e.CommandSource; //取当前操作的GridView int tempId = Convert.ToInt32(grid.DataKeys[index].Value); detailId = tempId.ToString(); TPurchaseDetail detail = _TPurchase.Detail.FirstOrDefault(itm => itm.DetDetail.ID == tempId); ModelToDetailTextBox(detail); //将实体赋值给对应的服务器控件 EntryDetailInputPage(true); //切换到货品录入页面 } else if (e.CommandName == "Del") { int index = Convert.ToInt32(e.CommandArgument); //取GridView行索引 GridView grid = (GridView)e.CommandSource; //取当前操作的GridView int id = Convert.ToInt32(grid.DataKeys[index].Value); //取GridView主键值 TPurchase temp = _TPurchase; TPurchaseDetail tempDetail = temp.Detail.First(itm => itm.DetDetail.ID == id); if (tempDetail.OprType == OperateType.otInsert) //如果是新插入的直接将其删除 { temp.Detail.Remove(tempDetail); } else //如是不是新插入的置删除标志 { tempDetail.OprType = OperateType.otDelete; } _TPurchase = temp; LoadData(); } else if (e.CommandName == "Page") { LoadData(); } } }
private TPurchase ParserAddPurchase(Purchase purchase) { TPurchase tPurchase = new TPurchase(); if (purchase != null) { tPurchase.PurchaseID = purchase.PurchaseID; tPurchase.iPurchaseInvoiceNo = purchase.iPurchaseInvoiceNo; tPurchase.strPurchaseInvoiceDate = purchase.strPurchaseInvoiceDate ?? " "; tPurchase.strSupplierName = purchase.strSupplierName; tPurchase.strMasterDecNo = purchase.strMasterDecNo ?? " "; tPurchase.strBLNo = purchase.strBLNo ?? " "; tPurchase.strArrivalDate = purchase.strArrivalDate ?? " "; tPurchase.strPurchaseInvoiceNo = purchase.strPurchaseInvoiceNo ?? " "; tPurchase.dmlConversionRate = purchase.dmlConversionRate; tPurchase.dcmlAED = purchase.dcmlAED; tPurchase.dcmlJYP = purchase.dcmlJYP; tPurchase.strPurchaseInvoiceNo = purchase.strPurchaseInvoiceNo ?? " "; tPurchase.dtPurchaseInvoiceDate = purchase.dtPurchaseInvoiceDate; } return(tPurchase); }
/// <summary> /// 保存入库单 /// </summary> /// <param name="obj"> 自定义入库单实体 </param> /// <returns> 入库单主表ID号 </returns> public int SavePurchase(TPurchase obj) { if (obj.OprType == OperateType.otInsert) //传入的是插入操作标志 { dc.MMS_PurchaseContent.InsertOnSubmit(obj.Content); //执行插入操作 } else if (obj.OprType == OperateType.otUpdate) //传入的是修改操作标志 { var query = from item in dc.MMS_PurchaseContent where item.ID == obj.Content.ID select item; BatchEvaluate.Eval(obj.Content, query.First()); //调用Eval方法进行实体间赋值 } else if (obj.OprType == OperateType.otDelete) //传入的是删除操作标志 { dc.MMS_PurchaseContent.DeleteOnSubmit(obj.Content); //执行删除操作 } foreach (TPurchaseDetail item in obj.Detail) //遍历采购计划货品明细 { if (item.OprType == OperateType.otInsert) //传入的是插入操作标志 { dc.MMS_PurchaseDetail.InsertOnSubmit(item.DetDetail); //执行插入操作 } else if (item.OprType == OperateType.otUpdate) //传入的是修改操作标志 { var query = from itm in dc.MMS_PurchaseDetail where itm.ID == item.DetDetail.ID select itm; BatchEvaluate.Eval(item.DetDetail, query.First()); //执行修改操作 } else if (item.OprType == OperateType.otDelete) //传入的是删除操作标志 { dc.MMS_PurchaseDetail.DeleteOnSubmit(item.DetDetail); //执行删除操作 } } dc.SubmitChanges(); //最后提交操作 return(obj.Content.ID); }
protected void btnSave_Click(object sender, EventArgs e) { if (Page.IsValid) { TPurchase info = _TPurchase; if (info.Detail.Count == 0) { Response.Write("<Script>window.alert('请先录入明细信息!')</Script>"); return; } TextBoxToModel(info); info.Content.Operator = Context.User.Identity.Name; info.Content.OperateDate = DateTime.Now; if (string.IsNullOrEmpty(id)) //插入 { info.OprType = OperateType.otInsert; } else //修改 { info.OprType = OperateType.otUpdate; } int tempId = PurchaseService.Instance.SavePurchase(info); //PurchaseService.Instance.SavePurchase(info); if (tempId > 0) { _TPurchase = PurchaseService.Instance.GetPurchase(tempId); id = tempId.ToString(); ModelToTextBox(_TPurchase); LoadData(); } Response.Write("<Script>window.alert('保存成功!')</Script>"); ClearTextBox(); dgvInfo.DataSource = null; dgvInfo.DataBind(); _TPurchase = null; } }
public bool SaveEdit(TPurchase purchase, List <Vehicle> griddata) { bool status = false; var pur = auctionContext.TPurchases.Where(a => a.PurchaseID == purchase.PurchaseID).FirstOrDefault(); //var test = (from max in auctionContext.TPurchases // where !String.IsNullOrEmpty(max.strPurchaseInvoiceNo) // select Convert.ToInt32(max.strPurchaseInvoiceNo)).Max(); int?invNo = auctionContext.TPurchases.Max(i => i.iPurchaseInvoiceNo) ?? 0; invNo = invNo + 1; if (purchase.PurchaseID > 0) { //Edit Existing Record if (pur != null && invNo > 0) { pur.PurchaseID = purchase.PurchaseID; // pur.iPurchaseInvoiceNo = invNo; // pur.iPurchaseInvoiceNo = purchase.iPurchaseInvoiceNo; pur.strPurchaseInvoiceDate = purchase.strPurchaseInvoiceDate; pur.strSupplierName = purchase.strSupplierName; pur.strMasterDecNo = purchase.strMasterDecNo; pur.strBLNo = purchase.strBLNo; pur.strArrivalDate = purchase.strArrivalDate; pur.strInvoiceValue = purchase.strInvoiceValue; pur.dmlConversionRate = purchase.dmlConversionRate; pur.dcmlAED = purchase.dcmlAED; pur.dcmlJYP = purchase.dcmlJYP; pur.dtPurchaseInvoiceDate = purchase.dtPurchaseInvoiceDate; } } else { //Save purchase.iPurchaseInvoiceNo = invNo; //purchase.strPurchaseInvoiceNo = invNo; auctionContext.TPurchases.Add(purchase); } auctionContext.SaveChanges(); var id = purchase.PurchaseID; // Assiging Purchase id to vehicles data griddata.ForEach(x => x.PurchaseID = id); foreach (var item in griddata) { if (item.iVehicleID > 0) { var vehicle = auctionContext.Vehicles.Where(a => a.iVehicleID == item.iVehicleID).FirstOrDefault(); if (vehicle != null) { vehicle.iLotNum = item.iLotNum; vehicle.strGrade = item.strGrade; vehicle.strChassisNum = item.strChassisNum; vehicle.strCategory = item.strCategory; vehicle.strMake = item.strMake; vehicle.iModel = item.iModel; vehicle.iYear = item.iYear; vehicle.strColor = item.strColor; vehicle.dmlKM = item.dmlKM; vehicle.strOrigin = item.strOrigin; vehicle.iDoor = item.iDoor; vehicle.strLocation = item.strLocation; vehicle.weight = item.weight; vehicle.strHSCode = item.strHSCode; vehicle.ATMT = item.ATMT; vehicle.iCustomAssesVal = item.iCustomAssesVal; vehicle.dmlDuty = item.dmlDuty; vehicle.iCustomValInJPY = item.iCustomValInJPY; vehicle.strGradeA = item.strGradeA; vehicle.strGradeB = item.strGradeB; vehicle.dmlLitter = item.dmlLitter; vehicle.strTrans = item.strTrans; vehicle.iMileage = item.iMileage; } } else { item.IsStockRecieved = false; auctionContext.Vehicles.Add(item); //Vehicle vehicle = new Vehicle(); // vehicle.IsStockRecieved = false; } } auctionContext.SaveChanges(); status = true; return(status); }