/// <summary> /// 分配发票号时查询加载出运明细数据 /// </summary> /// <param name="bpObj"></param> /// <returns></returns> private List <ShipPlanByBillHeadDTO> GetShipPlanData(GetShipPlanDoc bpObj) { List <ShipPlanByBillHeadDTO> listDtoData = new List <ShipPlanByBillHeadDTO>(); ShipPlanDetailHead.EntityList shipPlanList = null; if (bpObj.BillNoItemHead <= 0) { //默认加载出运明细单.单据状态=审核中 and 出运明细单.已分配发票号=false的所有出运明细单 shipPlanList = ShipPlanDetailHead.Finder.FindAll("Status='" + UFIDA.U9.Cust.GS.FT.AllEnumBE.DocumnetSate.ApprovingState.Value + "' and IsAllocation=0"); } else { shipPlanList = ShipPlanDetailHead.Finder.FindAll("BillNoItem=" + bpObj.BillNoItemHead + ""); } ShipPlanByBillHeadDTO shipPlan = null; foreach (ShipPlanDetailHead head in shipPlanList) { shipPlan = new ShipPlanByBillHeadDTO(); shipPlan.ShipPlan = head.ID; shipPlan.DocNo = head.DocNo; shipPlan.Date = head.BusinessDate; shipPlan.Org = head.GetOrderOrg.ID; shipPlan.Org_Code = head.GetOrderOrg.Code; shipPlan.Org_Name = head.GetOrderOrg.Name; shipPlan.Customer = head.Client.ID; shipPlan.Customer_Code = head.Client.Code; shipPlan.Customer_Name = head.Client.Name; if (head.BillNoItem != null) { shipPlan.BillNoItem = head.BillNoItem.ID; shipPlan.BillNoItem_Name = head.BillNoItem.BillNoItemID; } if (head.Currency != null) { shipPlan.Currenty = head.Currency.ID; shipPlan.Currenty_Code = head.Currency.Code; shipPlan.Currenty_Name = head.Currency.Name; } if (head.SaleMan != null) { shipPlan.SaleMan = head.SaleMan.ID; shipPlan.SaleMan_Code = head.SaleMan.Code; shipPlan.SaleMan_Name = head.SaleMan.Name; } shipPlan.PackagingType = head.PackagingType.Value.ToString(); listDtoData.Add(shipPlan); } return(listDtoData); }
/// <summary> /// before Delete /// </summary> protected override void OnDeleting() { ShipPlanDetailHead.EntityList headList = ShipPlanDetailHead.Finder.FindAll("BillNoItem=" + this.BillNoItemHead.ID + ""); foreach (ShipPlanDetailHead head in headList) { if (head.ShipPlanState == ShipPlanStateEnum.IssuedStorage) { throw new Exception("出运明细单" + head.DocNo + "已下发仓库无法取消预装柜"); } foreach (ShipPlanDetailLine line in head.ShipPlanDetailLine) { if (line.IsWms) { throw new Exception("出运明细单" + head.DocNo + "行" + line.RowNo + "已同步WMS,不能取消预装柜"); } line.IsShipping = false; } } base.OnDeleting(); // TO DO: write your business code here... }
private bool UpdateStatus(FTDocStatusUpdate bpObj) { bool result = false; switch (bpObj.DocType) { case 0: //出运明细单状态改变 #region 更改出运明细单单据状态 ShipPlanDetailBE.ShipPlanDetailHead shipPlan = ShipPlanDetailBE.ShipPlanDetailHead.Finder.FindByID(bpObj.DocID); if (shipPlan != null && shipPlan.SysVersion == bpObj.VIVersion) { using (ISession session = Session.Open()) { if (shipPlan != null) { //提交 if (bpObj.DocStatus == 0) { shipPlan.Status = AllEnumBE.DocumnetSate.ApprovingState; shipPlan.CommitDate = DateTime.Now; shipPlan.CommitAssessor = UFIDA.U9.Base.Context.LoginUser; } //审核操作( else if (bpObj.DocStatus == 1) { if (shipPlan.BillNoItem == null) { //throw new Exception("出运明细单没有发票发票号"); } shipPlan.Status = AllEnumBE.DocumnetSate.ApprovedSate; shipPlan.AuditDate = DateTime.Now; shipPlan.Assessor = UFIDA.U9.Base.Context.LoginUser; } //弃申操作 else if (bpObj.DocStatus == 2) { if (shipPlan.ShipPlanState == ShipPlanStateEnum.IssuedStorage) { throw new Exception("出运明细单已下发仓库无法弃审"); } #region 调用WMS系统检验是否已经开始拣货 #endregion // foreach (ShipPlanDetailBE.ShipPlanDetailLine line in shipPlan.ShipPlanDetailLine) //{ // if (line.IsWms) // { // throw new Exception("出运明细单已拣货"); // } //} if (shipPlan.IsAgvFee) { throw new Exception("出运明细单费用已分摊,无法弃审,请先弃审出运发票费用单再操作"); } shipPlan.Status = AllEnumBE.DocumnetSate.OpenState; shipPlan.IsAllocation = false; //出运明细单.已分配发票号赋值为false shipPlan.UndoAuditDate = DateTime.Now; shipPlan.UndoAssessor = UFIDA.U9.Base.Context.LoginUser; } } //session.Modify(shipPlan); session.Commit(); } } else { throw new Exception("当前数据已被修改或删除,请刷新后操作!!!"); } result = true; break; #endregion case 1: //出运发票费用单单据状态改变 #region 更改出运发票费用单单据状态 ShipPlanDetailFeeBE.ShipPlanDetailFeeHead shipFee = ShipPlanDetailFeeBE.ShipPlanDetailFeeHead.Finder.FindByID(bpObj.DocID); if (shipFee != null && shipFee.SysVersion == bpObj.VIVersion) { using (ISession session = Session.Open()) { if (shipFee != null) { //提交 if (bpObj.DocStatus == 0) { shipFee.Status = AllEnumBE.DocumnetSate.ApprovingState; } //审核操作( else if (bpObj.DocStatus == 1) { //费用单放到list集合中 List <ShipPlanDetailFeeLine> listCustomerFee = new List <ShipPlanDetailFeeLine>(); List <ShipPlanDetailFeeLine> listSupplierFee = new List <ShipPlanDetailFeeLine>(); shipFee.Status = AllEnumBE.DocumnetSate.ApprovedSate; //审核时金额分摊 //出运发票费用单审核时,如果发票费用单分摊方式为“按金额分摊”, //则根据出运发票号查找所有出运明细单金行集合,并汇总出运明细单行价税合计,申明变量“累计分摊金额”,循环出运发票费用单行: decimal totalMny = 0; //价税合计 //decimal totalvolumeWeight = 0;//汇总体积重量 decimal totalAppMny = 0; //累计分摊金额 decimal agvAppMny = 0; //单行分摊金额 int index = 1; //计算出运明细单循环行标志 bool isDeduction = false; //是否扣款登记 //CurrencyData currency = BPHelperExtend.GetEntityDataByID<CurrencyData>(long.Parse(pVDTOData.ProfileValue)); if (shipFee.AllocationWay == AllEnumBE.AllocationWayEnum.Amount) //按金额分摊 { ShipPlanDetailLine.EntityList shipLineList = ShipPlanDetailLine.Finder.FindAll("ShipPlanDetailHead.BillNoItem=" + shipFee.ShipPlanOrderNo.ID + ""); foreach (ShipPlanDetailLine ship in shipLineList) { totalMny += ship.TotalTax; } ShipPlanDetailLineFee detailFee = null; foreach (ShipPlanDetailFeeLine lineFee in shipFee.ShipPlanDetailFeeLine) { //生成扣款登记表时用到。 if (lineFee.PayClient != null && lineFee.AmountPayable > 0) { listCustomerFee.Add(lineFee); } if (lineFee.PaySupplier != null && lineFee.AmountPayable > 0) { listSupplierFee.Add(lineFee); } #region 获取币种精度 UFIDA.U9.Base.Currency.Proxy.GetCurrencyRoundProxy proxy = new Base.Currency.Proxy.GetCurrencyRoundProxy(); proxy.Currency = lineFee.Currency.ID; Base.PropertyTypes.RoundData round = proxy.Do(); #endregion if (lineFee.Payment == AllEnumBE.PaymentEnum.WePay) //付款方式等于我方支付 { //价格含税时税额计算方式:含税金额 - 含税金额/(1+税率) foreach (ShipPlanDetailLine line in shipLineList) { //得到精度 if (index == shipLineList.Count) //循环至最后一行 { agvAppMny = System.Math.Round(lineFee.AmountPayable - totalAppMny, round.Precision); } //出运明细单行分摊金额=出运明细单行.价税合计*出运发票费用单行.付款金额/sum(出运明细单行.价税合计); else { agvAppMny = System.Math.Round((line.TotalTax * lineFee.AmountPayable / totalMny), round.Precision); } totalAppMny += agvAppMny; index++; //创建出运明细费用单 detailFee = ShipPlanDetailLineFee.Create(line); detailFee.RowNo = lineFee.RowNo; detailFee.ShipItemFee = lineFee.ShipItemFee; detailFee.ShipFeeProject = lineFee.ShipFeeProject; detailFee.Supplier = lineFee.Supplier; detailFee.Currency = lineFee.Currency; detailFee.Uom = lineFee.Uom; detailFee.Memo = lineFee.Memo; detailFee.Combination = lineFee.Combination; //税组合 detailFee.TaxRate = lineFee.TaxRate; //税率 if (lineFee.TaxRate == null || lineFee.TaxRate <= 0) { detailFee.Prices = lineFee.Prices; //单价 detailFee.Qty = lineFee.Qty; //数量 detailFee.AmountPayable = agvAppMny; //付款金额为分摊金额 detailFee.NotTaxMoney = agvAppMny; //未税金额 detailFee.TaxMoney = 0; //税额 detailFee.NotTaxPrice = lineFee.Prices; //未税单价 //detailFee.PaymentAmount = lineFee.PaymentAmount; } else { //分摊的金额全部是含税金额 //价格含税时税额计算方式:含税金额 - 含税金额/(1+税率) detailFee.Prices = lineFee.Prices; //单价 detailFee.Qty = lineFee.Qty; //数量 detailFee.AmountPayable = agvAppMny; //付款金额为分摊金额 detailFee.NotTaxMoney = System.Math.Round(agvAppMny / (1 + lineFee.TaxRate), round.Precision); //未税金额 detailFee.TaxMoney = detailFee.AmountPayable - detailFee.NotTaxMoney; //税额 detailFee.NotTaxPrice = lineFee.NotTaxPrice; //未税单价 } } } else if (lineFee.Payment == AllEnumBE.PaymentEnum.OtherPay) { isDeduction = true; } } } else //按体积分摊 { ShipPlanDetailLine.EntityList shipLineList = ShipPlanDetailLine.Finder.FindAll("ShipPlanDetailHead.BillNoItem=" + shipFee.ShipPlanOrderNo.ID + ""); foreach (ShipPlanDetailLine ship in shipLineList) { totalMny += ship.VolumeWeight; } ShipPlanDetailLineFee detailFee = null; foreach (ShipPlanDetailFeeLine lineFee in shipFee.ShipPlanDetailFeeLine) { //生成扣款登记表时用到。 if (lineFee.PayClient != null && lineFee.AmountPayable > 0) { listCustomerFee.Add(lineFee); } if (lineFee.PaySupplier != null && lineFee.AmountPayable > 0) { listSupplierFee.Add(lineFee); } UFIDA.U9.Base.Currency.Proxy.GetCurrencyRoundProxy proxy = new Base.Currency.Proxy.GetCurrencyRoundProxy(); proxy.Currency = lineFee.Currency.ID; Base.PropertyTypes.RoundData round = proxy.Do(); if (lineFee.Payment == AllEnumBE.PaymentEnum.WePay) //付款方式等于我方支付 { //价格含税时税额计算方式:含税金额 - 含税金额/(1+税率) foreach (ShipPlanDetailLine line in shipLineList) { //得到精度 if (index == shipLineList.Count) //循环至最后一行 { agvAppMny = System.Math.Round((totalMny - totalAppMny), round.Precision); } //出运明细单行分摊金额=出运明细单行.总体积重量*出运发票费用单行.付款金额/sum(出运明细单行.总体积重量); else { agvAppMny = System.Math.Round((line.VolumeWeight * lineFee.AmountPayable / totalMny), round.Precision); } totalAppMny += agvAppMny; index++; //创建出运明细费用单 detailFee = ShipPlanDetailLineFee.Create(line); detailFee.RowNo = lineFee.RowNo; detailFee.ShipItemFee = lineFee.ShipItemFee; detailFee.ShipFeeProject = lineFee.ShipFeeProject; detailFee.Supplier = lineFee.Supplier; detailFee.Prices = lineFee.Prices; detailFee.Qty = lineFee.Qty; detailFee.AmountPayable = agvAppMny; detailFee.Combination = lineFee.Combination; detailFee.NotTaxMoney = lineFee.NotTaxPrice; detailFee.TaxMoney = lineFee.TaxMoney; detailFee.NotTaxPrice = lineFee.NotTaxPrice; detailFee.PaymentAmount = lineFee.PaymentAmount; detailFee.Currency = lineFee.Currency; detailFee.Uom = lineFee.Uom; detailFee.Memo = lineFee.Memo; } } else if (lineFee.Payment == AllEnumBE.PaymentEnum.OtherPay) { isDeduction = true; } } } //果出运发票费用单行付款方式存在“代收代付”时,分别根据代付客户、代付供应商进行分组汇总付款金额: //如果出运发票费用单行付款方式存在“代收代付”时,分别根据代付客户、代付供应商进行分组汇总付款金额: //1、 如果代付客户不为空,并且付款金额大于0,则产生一张代付对象为客户的扣款登记表,扣款金额为汇总的付款金额,并自动审核扣款登记; //2、 如果代付供应商不为空,并且付款金额大于0,则产生一张代付对象为供应商的扣款登记表,扣款金额为汇总的汇总金额,并自动审核扣款登记 //3、 客户类的扣款登记在登记上进行与明细单进行核销; if (isDeduction) { //linq分组 IEnumerable <IGrouping <string, ShipPlanDetailFeeLine> > dtoCustomer = listCustomerFee.Cast <ShipPlanDetailFeeLine>().GroupBy <ShipPlanDetailFeeLine, string>(cur => cur.PayClient.Code); IEnumerable <IGrouping <string, ShipPlanDetailFeeLine> > dotSupplier = listSupplierFee.Cast <ShipPlanDetailFeeLine>().GroupBy <ShipPlanDetailFeeLine, string>(cur => cur.PaySupplier.Code); #region 生成扣款登记表 UFIDA.U9.Cust.GS.FI.DeductionRegisterBP.Proxy.CreateDeductionRegisterBPProxy proxy = new FI.DeductionRegisterBP.Proxy.CreateDeductionRegisterBPProxy(); List <DeductionRegisterDTOData> listDeduction = new List <DeductionRegisterDTOData>(); DeductionRegisterDTOData deductionDto = null; foreach (IEnumerable <ShipPlanDetailFeeLine> client in dtoCustomer) { decimal totalCustomMey = 0; foreach (ShipPlanDetailFeeLine ship in client) { totalCustomMey += ship.AmountPayable; } //生成客户的扣款登记表 //decimal totalCustomMey = (from s in listCustomerFee where s.PayClient.Code == client.PayClient.Code select s.AmountPayable).Sum(); deductionDto = new DeductionRegisterDTOData(); DeductionRegisterDocType docType = DeductionRegisterDocType.Finder.Find("IsCreatedByPush=1"); if (docType == null) { throw new Exception("没有设定扣款登记表生单单据类型!"); } deductionDto.DocumentType = docType.ID; deductionDto.BusinessDate = DateTime.Now; deductionDto.SrcDocType = 2; deductionDto.SrcOrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.SrcDocNo = shipFee.DocNo; deductionDto.SrcDocID = shipFee.ID; deductionDto.Currency = client.First <ShipPlanDetailFeeLine>().Currency.ID; deductionDto.DRObject = 1;//扣款对象1为客户 deductionDto.Customer = client.First <ShipPlanDetailFeeLine>().PayClient.ID; deductionDto.Supplier = 0; deductionDto.DROrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.DRMoney = totalCustomMey; deductionDto.RegisterOrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.RegisterBy = UFIDA.U9.Base.Context.LoginUser; listDeduction.Add(deductionDto); } foreach (IEnumerable <ShipPlanDetailFeeLine> supplier in dotSupplier) { decimal totalSupplierMey = 0; foreach (ShipPlanDetailFeeLine ship in supplier) { totalSupplierMey += ship.AmountPayable; } //生成供应商的扣款登记表 //decimal totalSupplierMey = (from s in listCustomerFee where s.PaySupplier.Code == supplier.PaySupplier.Code select s.AmountPayable).Sum(); deductionDto = new DeductionRegisterDTOData(); DeductionRegisterDocType docType = DeductionRegisterDocType.Finder.Find("IsCreatedByPush"); if (docType == null) { throw new Exception("没有设定扣款登记表生单单据类型!"); } deductionDto.DocumentType = docType.ID; deductionDto.BusinessDate = DateTime.Now; deductionDto.SrcDocType = 2; deductionDto.SrcOrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.SrcDocNo = shipFee.DocNo; deductionDto.SrcDocID = shipFee.ID; deductionDto.Currency = supplier.First <ShipPlanDetailFeeLine>().Currency.ID; deductionDto.DRObject = 0;//扣款对象0为供应商 deductionDto.Customer = 0; deductionDto.Supplier = supplier.First <ShipPlanDetailFeeLine>().PaySupplier.ID; deductionDto.DROrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.DRMoney = totalSupplierMey; deductionDto.RegisterOrg = UFIDA.U9.Base.Context.LoginOrg.ID; deductionDto.RegisterBy = UFIDA.U9.Base.Context.LoginUser; listDeduction.Add(deductionDto); } List <FI.PubBP.CommonDTOData> listData = null; using (Session sessoin1 = Session.Open()) { proxy.DeductionRegisterDTOs = listDeduction; listData = proxy.Do(); sessoin1.Commit(); } #endregion #region 审核扣款登记表 FI.DeductionRegisterBP.Proxy.ApprovedDeductionRegisterBPProxy proxyApprove = new FI.DeductionRegisterBP.Proxy.ApprovedDeductionRegisterBPProxy(); foreach (CommonDTOData approveDto in listData) { proxyApprove.DocStatus = 1; proxyApprove.EntityKey = approveDto.ID; ErrorMessageDTOData error = proxyApprove.Do(); if (!error.IsSuccess) { throw new Exception("扣款登记表自动审核失败,错误信息" + error.ErrorMessage); } } #endregion } } //弃申操作 else if (bpObj.DocStatus == 2) { // 校验:如果发票号对应的出运明细单已做成本决算, //或者对应的扣款登记已被核销(扣款登记.已扣款金额大于0),则出运发票费用单不允许弃审 ShipPlanDetailHead.EntityList shipHeadList = ShipPlanDetailHead.Finder.FindAll("BillNoItem=" + shipFee.ShipPlanOrderNo.ID + ""); foreach (ShipPlanDetailHead head in shipHeadList) { if (head.ForecastStateEnum == AllEnumBE.ForecastStateEnum.Y) { throw new Exception("出运发票费用单引用的发票号组对应的出运明细单" + head.DocNo + "已做成本决算"); } } //扣款登记已被核销(扣款登记.已扣款金额大于0),则出运发票费用单不允许弃审 DeductionRegister.EntityList deductionList = DeductionRegister.Finder.FindAll("SrcDocID=" + shipFee.ID + ""); FI.DeductionRegisterBP.Proxy.ApprovedDeductionRegisterBPProxy proxyApprove = new FI.DeductionRegisterBP.Proxy.ApprovedDeductionRegisterBPProxy(); foreach (DeductionRegister deduction in deductionList) { if (deduction.DRMoney > 0) { throw new Exception("生成的下游表单扣款登记单" + deduction.DocNo + "已扣款金额大于0,不允许弃审"); } //弃审扣款登记表 proxyApprove.DocStatus = 2; proxyApprove.EntityKey = deduction.ID; ErrorMessageDTOData error = proxyApprove.Do(); if (!error.IsSuccess) { throw new Exception("扣款登记表自动弃审失败,错误信息" + error.ErrorMessage); } //弃审成功后,删除扣款登记表 deduction.Remove(); } ShipPlanDetailLine.EntityList shipLineList = ShipPlanDetailLine.Finder.FindAll("ShipPlanDetailHead.BillNoItem=" + shipFee.ShipPlanOrderNo.ID + ""); foreach (ShipPlanDetailLine line in shipLineList) { for (int i = 0; i < line.ShipPlanDetailLineFee.Count; i++) { line.ShipPlanDetailLineFee[i].Remove(); i = i - 1; } //foreach (ShipPlanDetailLineFee fee in line.ShipPlanDetailLineFee) //{ // ShipPlanDetailLineFee deleFee = ShipPlanDetailLineFee.Finder.FindByID(fee.ID); // deleFee.Remove(); //} } shipFee.Status = AllEnumBE.DocumnetSate.OpenState; //弃审 } } session.Commit(); } } else { throw new Exception("当前数据已被修改或删除,请刷新后操作!!!"); } result = true; break; #endregion } return(result); }
/// <summary> /// 出运明细发票号分配 /// </summary> /// <param name="bpObj"></param> /// <returns></returns> private int AllocationBill(AllocationBillNo bpObj) { ShipPlanDetailHead.EntityList headList = null; if (bpObj.BillNoItemHead.ID <= 0) { //默认加载出运明细单.单据状态=审核中 and 出运明细单.已分配发票号=false的所有出运明细单; headList = ShipPlanDetailHead.Finder.FindAll("Status=1 and IsAllocation=0"); } else { headList = ShipPlanDetailHead.Finder.FindAll("BillNoItem=" + bpObj.BillNoItemHead.ID + ""); } using (ISession session = Session.Open()) { //foreach (ShipPlanDetailHead head in headList) //{ // head.IsAllocation = false; // head.BillNoItemKey = null; //} PackagingTypeEnum parkEnum = null; int count = 0; long currenty = 0, org = 0, saleMan = 0; DateTime shipPlanDate = DateTime.Now; foreach (ShipPlanDetailHead.EntityKey head in bpObj.ShipPlanList) { ShipPlanDetailHead shipPlan = head.GetEntity(); if (count > 0) { if (parkEnum != null && parkEnum != shipPlan.PackagingType) //出运明细单必须是同一种装柜方式; { throw new Exception("出运明细单" + shipPlan.DocNo + "不为同一种装柜方式"); } //不同币种、接单组织、外销员、出运日期的出运明细单不允许分配同一个发票号组; if (shipPlan.Currency != null && currenty != shipPlan.Currency.ID) { throw new Exception("出运明细单" + shipPlan.DocNo + "与其他明细单不为同一种币种"); } if (shipPlan.GetOrderOrg != null && org != shipPlan.GetOrderOrg.ID) { throw new Exception("出运明细单" + shipPlan.DocNo + "与其他明细单不为相同接单组织"); } if (shipPlan.SaleMan != null && saleMan != shipPlan.SaleMan.ID) { throw new Exception("出运明细单" + shipPlan.DocNo + "与其他明细单不为同一个业务员"); } if (shipPlanDate.ToString("yyyy-MM-dd") != shipPlan.ShipPlanDate.ToString("yyyy-MM-dd")) { throw new Exception("出运明细单" + shipPlan.DocNo + "与其他明细单出运日期不同"); } } //判断条件赋值 parkEnum = shipPlan.PackagingType; if (shipPlan.Currency != null) { currenty = shipPlan.Currency.ID; } if (shipPlan.GetOrderOrg != null) { org = shipPlan.GetOrderOrg.ID; } if (shipPlan.SaleMan != null) { saleMan = shipPlan.SaleMan.ID; } shipPlanDate = shipPlan.ShipPlanDate; shipPlan.IsAllocation = true; shipPlan.BillNoItemKey = bpObj.BillNoItemHead; count++; //出运明细单审核 if (shipPlan.Status == AllEnumBE.DocumnetSate.ApprovingState) { shipPlan.Status = AllEnumBE.DocumnetSate.ApprovedSate; shipPlan.AuditDate = DateTime.Now; shipPlan.Assessor = UFIDA.U9.Base.Context.LoginUser; } } //审核出运明细单 // 确认分配后,修改发票号组状态为“已分配”,记录写到BE里面 //BillNoItemHead heand = BillNoItemHead.Finder.FindByID(bpObj.BillNoItemHead.ID); //if(heand != null) // heand.BillNoItemStates = BillNoItemEnum.IsAllot; session.Commit(); } return(1); }