public ActionResult InsertNotesIssued(PW_NotesRuKu pwNotesRuKu, PW_NotesIssued pwNotesIssued, PW_User pwUser, PW_ReceiveUser pwReceiveUser) {
ReturnJsonVo returnJson = new ReturnJsonVo();
using (var scope = new TransactionScope())
{try{//查询出入库里面的库存
var countStockNumber = (from tbStockNumber in myModals.PW_NotesRuKu
where tbStockNumber.NotesRuKuID == pwNotesRuKu.NotesRuKuID
select tbStockNumber.StockNumber).Single();
var varNumberRecipients = pwNotesIssued.NumberRecipients; //获取这次的领用数量
//判断库存是否够领用的数量,当库存大于或等于领用数量时则可以发放
if (countStockNumber >= varNumberRecipients) {
int countUser = (from tbUser in myModals.PW_User
where tbUser.UserID == pwUser.UserID
select tbUser).Count();
pwUser.UserID = pwNotesIssued.UserID;
//获取发放时间,发放的时间等于当前时间
DateTime dateTimeNow = DateTime.Now;
pwNotesIssued.IssuedDate = dateTimeNow;
//从session中获取这次发放票据的操作人员
var varUserID = Convert.ToInt32(Session[“UserID”].ToString());
pwNotesIssued.UserID = varUserID;
//查询出入库表表里面的数据,以便发放之后修改入库表里面的数据
PW_NotesRuKu NotesRuKuInfo = (from tbNotesRuKu in myModals.PW_NotesRuKu
where tbNotesRuKu.NotesRuKuID == pwNotesRuKu.NotesRuKuID
select tbNotesRuKu).Single();
//计算发放后入库表剩余库存
入库表的库存数量等于选中的那条数据的库存减去当时领用的数量
NotesRuKuInfo.StockNumber = countStockNumber - pwNotesIssued.NumberRecipients;
//计算发放后图库表的当前票号:
入库表的开始票号等于原入库表的当票票号加上当时领用的数量
NotesRuKuInfo.StayOutNotesNow = NotesRuKuInfo.StayOutNotesNow + pwNotesIssued.NumberRecipients;
//计算发放之后发放表的余票数量,
发放表内的余票数量等于发放表的库存
pwNotesIssued.MoreTicketQuantity = pwNotesIssued.NumberRecipients;
//发放表的开始票号等于入库表的开始票号。
发放表的开始票号等于入库表的开始票号
pwNotesIssued.StartIssuingNotes = NotesRuKuInfo.StartRuKuNotes;
//发放表的当前票号等于发放表的开始票号
pwNotesIssued.NotUseIssuingNow = pwNotesIssued.StartIssuingNotes;
//发放表的结束票号等于开始票号+领用数量-1
pwNotesIssued.EndIssuingNotes = pwNotesIssued.StartIssuingNotes + pwNotesIssued.NumberRecipients - 1;
//获取发放表内的剩余票数
var MoreTicketQuantity = pwNotesIssued.MoreTicketQuantity;
//获取发放表内的当前未使用票数
var NumberRecipients = pwNotesIssued. NotUseIssuingNow;
//当剩余票数等于未使用票数时,使用状态为1(未使用)
if (MoreTicketQuantity == NumberRecipients) {
pwNotesIssued.NotesUseStateID = 1; }
if (MoreTicketQuantity < NumberRecipients) {
pwNotesIssued.NotesUseStateID = 2;}
if (MoreTicketQuantity == 0) {
pwNotesIssued.NotesUseStateID = 3; }
//保存到发放表
myModals.PW_NotesIssued.Add(pwNotesIssued);
if (myModals.SaveChanges() > 0) {
var varUseriD = (from tbUserNumber in myModals.PW_User
where tbUserNumber.UserNumber == pwUser.UserNumber
select tbUserNumber.UserID).Single();
pwReceiveUser.UserID = varUseriD;
pwReceiveUser.NotesIssuedID = pwNotesIssued.NotesIssuedID;
pwNotesIssued.UserID = varUseriD;
//保存接收用户表
myModals.PW_ReceiveUser.Add(pwReceiveUser);
if (myModals.SaveChanges() > 0) {
//修改入库表的数量
myModals.Entry(NotesRuKuInfo).State = EntityState.Modified;
在新增之后修改原数据
最新推荐文章于 2021-09-01 11:47:51 发布