Beispiel #1
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"
            });
        }
Beispiel #2
0
        public bool Add(DateTime datetime, out string strResult)
        {
            bool result = false;

            strResult = string.Empty;

            var profitLossBillMaster = ProfitLossBillMasterRepository.GetQueryable().Where(i => i.BillDate <= datetime);
            var profitLossBillDetail = ProfitLossBillDetailRepository.GetQueryable().Where(i => i.ProfitLossBillMaster.BillDate <= datetime);

            if (profitLossBillMaster.Any())
            {
                #region 主表移入历史表
                try
                {
                    foreach (var item in profitLossBillMaster.ToArray())
                    {
                        ProfitLossBillMasterHistory history = new ProfitLossBillMasterHistory();
                        history.BillNo          = item.BillNo;
                        history.BillDate        = item.BillDate;
                        history.BillTypeCode    = item.BillTypeCode;
                        history.CheckBillNo     = "";
                        history.WarehouseCode   = item.WarehouseCode;
                        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.OperatePersonID = item.OperatePersonID;
                        history.LockTag         = item.LockTag;
                        history.RowVersion      = item.RowVersion;
                        ProfitLossBillMasterHistoryRepository.Add(history);
                    }
                    result = true;
                }
                catch (Exception e)
                {
                    strResult = "主库单:" + e.InnerException.ToString();
                    result    = false;
                }
                #endregion

                if (profitLossBillDetail.Any())
                {
                    #region 细表移入历史表
                    try
                    {
                        foreach (var item in profitLossBillDetail.ToArray())
                        {
                            ProfitLossBillDetailHistory history = new ProfitLossBillDetailHistory();
                            history.BillNo      = item.BillNo;
                            history.CellCode    = item.CellCode;
                            history.StorageCode = item.StorageCode;
                            history.ProductCode = item.ProductCode;
                            history.UnitCode    = item.UnitCode;
                            history.Price       = item.Price;
                            history.Quantity    = item.Quantity;
                            history.Description = item.Description;
                            ProfitLossBillDetailHistoryRepository.Add(history);
                        }
                        result = true;
                    }
                    catch (Exception e)
                    {
                        strResult = "细库单:" + e.InnerException.ToString();;
                    }
                    #endregion
                }
                if (result == true)
                {
                    #region  除主细分配表
                    try
                    {
                        foreach (var item in profitLossBillMaster.ToList())
                        {
                            Del(ProfitLossBillDetailRepository, item.ProfitLossBillDetails);
                            ProfitLossBillMasterRepository.Delete(item);
                            result = true;
                        }
                    }
                    catch (Exception e)
                    {
                        strResult = "删除情况:" + e.InnerException.ToString();
                    }

                    ProfitLossBillMasterHistoryRepository.SaveChanges();
                    #endregion
                }
            }
            else
            {
                strResult = "数据不存在!";
            }
            return(result);
        }