Exemplo n.º 1
0
        public bool Add(DateTime datetime, out string strResult)
        {
            bool result = false;

            strResult = string.Empty;

            var inBillMaster = InBillMasterRepository.GetQueryable().Where(i => i.BillDate <= datetime);
            var inBillDetail = InBillDetailRepository.GetQueryable().Where(i => i.InBillMaster.BillDate <= datetime);
            var inBillAllot  = InBillAllotRepository.GetQueryable().Where(i => i.InBillMaster.BillDate <= datetime);

            if (inBillMaster.Any())
            {
                #region 主表移入历史表
                try
                {
                    foreach (var item in inBillMaster.ToArray())
                    {
                        InBillMasterHistory history = new InBillMasterHistory();
                        history.BillNo          = item.BillNo;
                        history.BillDate        = item.BillDate;
                        history.BillTypeCode    = item.BillTypeCode;
                        history.WarehouseCode   = item.WarehouseCode;
                        history.OperatePersonID = item.OperatePersonID;
                        history.Status          = item.Status;
                        history.VerifyPersonID  = item.VerifyPersonID;
                        history.VerifyDate      = item.VerifyDate;
                        history.Description     = item.Description;
                        history.IsActive        = item.IsActive;
                        history.UpdateTime      = item.UpdateTime;
                        history.TargetCellCode  = item.TargetCellCode;
                        InBillMasterHistoryRepository.Add(history);
                    }
                    result = true;
                }
                catch (Exception e)
                {
                    strResult = "迁移主表时:" + e.InnerException.ToString();
                    result    = false;
                }
                #endregion

                if (inBillDetail.Any())
                {
                    #region 细表移入历史表
                    try
                    {
                        foreach (var item2 in inBillDetail.ToArray())
                        {
                            InBillDetailHistory history2 = new InBillDetailHistory();
                            history2.ID            = item2.ID;
                            history2.BillNo        = item2.BillNo;
                            history2.ProductCode   = item2.ProductCode;
                            history2.UnitCode      = item2.UnitCode;
                            history2.Price         = item2.Price;
                            history2.BillQuantity  = item2.BillQuantity;
                            history2.AllotQuantity = item2.AllotQuantity;
                            history2.RealQuantity  = item2.RealQuantity;
                            history2.Description   = item2.Description;
                            InBillDetailHistoryRepository.Add(history2);
                        }
                        result = true;
                    }
                    catch (Exception e)
                    {
                        strResult = "迁移细表时:" + e.InnerException.ToString();
                        result    = false;
                    }
                    #endregion

                    if (inBillAllot.Any())
                    {
                        #region 分配表移入历史表
                        try
                        {
                            foreach (var item3 in inBillAllot.ToArray())
                            {
                                InBillAllotHistory history3 = new InBillAllotHistory();
                                history3.BillNo          = item3.BillNo;
                                history3.ProductCode     = item3.ProductCode;
                                history3.InBillDetailId  = item3.InBillDetailId;
                                history3.CellCode        = item3.CellCode;
                                history3.StorageCode     = item3.StorageCode;
                                history3.UnitCode        = item3.UnitCode;
                                history3.AllotQuantity   = item3.AllotQuantity;
                                history3.RealQuantity    = item3.RealQuantity;
                                history3.OperatePersonID = item3.OperatePersonID;
                                history3.Operator        = item3.Operator;
                                history3.StartTime       = item3.StartTime;
                                history3.FinishTime      = item3.FinishTime;
                                history3.Status          = item3.Status;
                                InBillAllotHistoryRepository.Add(history3);
                            }
                            result = true;
                        }
                        catch (Exception e)
                        {
                            strResult = "迁移分配表时:" + e.InnerException.ToString();
                            result    = false;
                        }
                        #endregion
                    }
                }
                if (result == true)
                {
                    #region  除主细分配表
                    try
                    {
                        foreach (var item in inBillMaster.ToList())
                        {
                            Del(InBillAllotRepository, item.InBillAllots);
                            Del(InBillDetailRepository, item.InBillDetails);
                            InBillMasterRepository.Delete(item);
                            result = true;
                        }
                    }
                    catch (Exception e)
                    {
                        strResult = "删除操作时:" + e.InnerException.ToString();
                        result    = false;
                    }
                    InBillMasterRepository.SaveChanges();
                    #endregion
                }
            }
            else
            {
                strResult = "数据不存在!";
            }
            return(result);
        }
Exemplo n.º 2
0
        public ActionResult MoveDataIsHistory(string dateTime, string billType)
        {
            string   msg = string.Empty;
            bool     bResult;
            string   strResult = string.Empty;
            DateTime time      = Convert.ToDateTime(dateTime);

            switch (billType)
            {
            case "1":    //入库单据
                bResult = InBillMasterHistory.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "入库操作:" + strResult;
                }
                break;

            case "2":    //出库单据
                bResult = OutBillMasterHistory.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "出库操作:" + strResult;
                }
                break;

            case "3":    //移库单据
                bResult = MoveBillMasterHistory.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "移库操作:" + strResult;
                }
                break;

            case "4":    //盘点单据
                bResult = CheckBillMasterHistory.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "盘点操作:" + strResult;
                }
                break;

            case "5":    //损益单据
                bResult = ProfitLossBillMasterHistory.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "损益操作:" + strResult;
                }
                break;

            case "6":    //日结
                bResult = DailyBalanceHistoryService.Add(time, out strResult);
                if (!bResult)
                {
                    msg = "出库操作:" + strResult;
                }
                break;

            default:
                msg = "调用了未定义的方法!";
                break;
            }
            return(new ContentResult()
            {
                Content = msg, ContentEncoding = Encoding.GetEncoding("GB2312"), ContentType = "text"
            });
        }