Exemple #1
0
        /// <summary>
        /// 获取用户权限菜单
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public IList <SysFunc> GetUserFuncs2(string userId)
        {
            PublicService ps = new PublicService();
            //获取用户角色关系
            IList <UserRole> urolelist = ps.GetGenericService <UserRole>().Query().Where(p => p.UserID == userId).ToList();
            ArrayList        arry      = new ArrayList();

            foreach (UserRole u in urolelist)
            {
                arry.Add(u.RoleID);
            }
            //获取角色列表
            IList <Role> rolelist = ps.GetGenericService <Role>().Query().Where(p => arry.Contains(p.ID)).ToList();
            ArrayList    arry2    = new ArrayList();

            foreach (Role u in rolelist)
            {
                arry2.Add(u.ID);
            }
            //获取菜单角色关系
            IList <FuncRole> froleList = ps.GetGenericService <FuncRole>().Query().Where(p => arry2.Contains(p.RoleID)).OrderBy(p => p.SysFuncId).ToList();
            ArrayList        arry3     = new ArrayList();

            foreach (FuncRole u in froleList)
            {
                if (!arry3.Contains(u.SysFuncId))
                {
                    arry3.Add(u.SysFuncId);
                }
            }
            IList <SysFunc> sysfuncList = ps.GetGenericService <SysFunc>().Query().Where(p => p.IsDisabled == false && arry3.Contains(p.ID)).OrderBy(p => p.OrderNum).ThenBy(p => p.ID).ToList();

            return(sysfuncList);
        }
        public void SavePath(string ProjectId, double?Distance, string LonLatStr)
        {
            using (var tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    ProjectRoute PR = new ProjectRoute();
                    PR.ProjectId = ProjectId;
                    PR.Source    = "E";
                    PR.IsPrimary = false;
                    PR           = this.Add(PR);


                    this.m_UnitOfWork.Flush();
                    RouteDetail RD = new RouteDetail();
                    RD.Distance = Distance;

                    RD.LonLatStr    = LonLatStr;
                    RD.RouteId      = PR.ID;
                    RD.ProjectID    = PR.ProjectId;
                    RD.ProjectRoute = PR;
                    PublicService ps = new PublicService();
                    ps.GetGenericService <RouteDetail>().Add(RD);
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    logger.Error(ex.Message, ex);
                    throw ex;
                }
            }
        }
Exemple #3
0
        public override void Delete(object[] ids)
        {
            using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    ThreadID      tid;
                    PublicService ps = new PublicService();

                    foreach (string id in ids)
                    {
                        IList <ProductRecordItem> items = this.m_UnitOfWork.GetRepositoryBase <ProductRecordItem>().Query().Where(m => m.ProductRecordID == id).ToList();
                        foreach (ProductRecordItem iitem in items)
                        {
                            this.m_UnitOfWork.GetRepositoryBase <ProductRecordItem>().Delete(iitem);

                            tid             = new ThreadID();
                            tid.currentDate = DateTime.Now;
                            tid.typeID      = iitem.StuffID; //主材id
                            tid.typename    = "0";           //主材
                            ps.ThreadID.Add(tid);
                        }
                    }

                    base.Delete(ids);
                    //tx.Commit();
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    logger.Error(ex.Message);
                    throw new Exception(ex.Message);
                }
            }
        }
        /// <summary>
        /// 获取运输单任务
        /// </summary>
        /// <param name="CarId"></param>
        /// <returns></returns>
        public IList <ShippingDocument> getShippingTask(string CarId)
        {
            IList <ShippingDocument> shippingDocumentList = new List <ShippingDocument>();
            IList <Car>   CarList = null;
            PublicService ps      = new PublicService();

            if (string.IsNullOrEmpty(CarId))
            {
                CarList = ps.GetGenericService <Car>().Query().Where(p => p.CarStatus == ZLERP.Model.Enums.CarStatus.ShippingCar && p.IsUsed).ToList();
            }
            else
            {
                CarList = ps.GetGenericService <Car>().Query().Where(p => p.CarStatus == ZLERP.Model.Enums.CarStatus.ShippingCar && p.ID == CarId && p.IsUsed).ToList();
            }
            foreach (Car car in CarList)
            {
                ShippingDocument shippingDocument = this.Query().OrderByDescending(p => p.BuildTime).FirstOrDefault(p => p.CarID == car.ID && p.IsEffective);
                if (shippingDocument != null)
                {
                    shippingDocumentList.Add(shippingDocument);
                }
            }

            return(shippingDocumentList);
        }
Exemple #5
0
        /// <summary>
        /// 增加物资入库记录时修改物资总量、库存、入库数量
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public GoodsIn AddByPurchase(GoodsIn entity)
        {
            try
            {
                IRepositoryBase <GoodsInfo> GoodsInfoResp = this.m_UnitOfWork.GetRepositoryBase <GoodsInfo>();

                GoodsInfo goodsInfo = GoodsInfoResp.Get(entity.GoodsID);

                goodsInfo.InNum      += entity.InNum;
                goodsInfo.ContentNum += entity.InNum;
                goodsInfo.TotalNum   += entity.InNum;

                if (goodsInfo.tPrice == null)
                {
                    goodsInfo.tPrice = (entity.InNum * entity.InPrice);
                }
                else
                {
                    goodsInfo.tPrice += (entity.InNum * entity.InPrice);
                }
                goodsInfo.uPrice = (decimal)goodsInfo.tPrice / (decimal)goodsInfo.ContentNum;

                GoodsInfoResp.Update(goodsInfo, null);
                GoodsIn obj = base.Add(entity);

                //添加新的历史记录
                if (s == null)
                {
                    s = new PublicService();
                }
                GoodsInHistory history = new GoodsInHistory();
                history.Builder          = obj.Builder;
                history.BuildTime        = obj.BuildTime;
                history.GoodsID          = obj.GoodsID;
                history.GoodsInIDHistory = obj.ID;
                history.InNum            = obj.InNum;
                history.InPrice          = obj.InPrice;
                history.InTime           = obj.InTime;
                history.Lifecycle        = obj.Lifecycle;
                history.Modifier         = obj.Modifier;
                history.ModifyTime       = obj.ModifyTime;
                history.Operator         = obj.Operator;
                history.Remark           = obj.Remark;
                history.SupplyName       = obj.SupplyName;
                history.TransportName    = obj.TransportName;
                history.action_u         = "新增";
                history.GoodsName        = goodsInfo.GoodsName;
                s.GoodsInHistory.Add(history);

                return(obj);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                throw;
            }
        }
        public override ProductRecordItem Add(ProductRecordItem entity)
        {
            using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    var ProductRecord = this.m_UnitOfWork.GetRepositoryBase <ProductRecord>().Get(entity.ProductRecordID);
                    var consMixpropID = this.m_UnitOfWork.GetRepositoryBase <ShippingDocument>().Get(ProductRecord.ShipDocID).ConsMixpropID;
                    var amount        = this.m_UnitOfWork.GetRepositoryBase <ConsMixpropItem>().Query().
                                        Where(a => a.ConsMixpropID == consMixpropID && a.SiloID == entity.SiloID).Select(a => a.Amount).FirstOrDefault();

                    entity.TheoreticalAmount = amount * ProductRecord.ProduceCube;
                    decimal tempActualAmount = entity.ActualAmount != null?Convert.ToDecimal(entity.ActualAmount) : 0;

                    decimal tempTheoreticalAmount = entity.TheoreticalAmount != null?Convert.ToDecimal(entity.TheoreticalAmount) : 0;

                    if (tempTheoreticalAmount != 0)
                    {
                        entity.ErrorValue = Math.Round(((tempActualAmount - tempTheoreticalAmount) / tempTheoreticalAmount * 100), 2);
                    }
                    else
                    {
                        entity.ErrorValue = 0;
                    }
                    IRepositoryBase <StuffInfo> stuffinfoRepository = this.m_UnitOfWork.GetRepositoryBase <StuffInfo>();
                    Silo      silo      = this.m_UnitOfWork.GetRepositoryBase <Silo>().Get(entity.SiloID);
                    StuffInfo stuffinfo = stuffinfoRepository.Get(entity.StuffID);
                    silo.Content        -= tempActualAmount;
                    stuffinfo.Inventory -= tempActualAmount;
                    this.m_UnitOfWork.GetRepositoryBase <Silo>().Update(silo, null);
                    stuffinfoRepository.Update(stuffinfo, null);
                    //this.m_UnitOfWork.Flush();
                    ProductRecordItem obj = base.Add(entity);

                    ThreadID      tid;
                    PublicService ps = new PublicService();
                    tid             = new ThreadID();
                    tid.currentDate = DateTime.Now;
                    tid.typeID      = entity.StuffID; //主材id
                    tid.typename    = "0";            //主材
                    ps.ThreadID.Add(tid);

                    tx.Commit();

                    return(obj);
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    logger.Error(ex.Message);
                    throw;
                }
            }
        }
Exemple #7
0
        /// <summary>
        /// 删除物资入库记录时修改物资总量、库存、入库数量
        /// </summary>
        /// <param name="entity"></param>
        public override void Delete(GoodsIn entity)
        {
            try
            {
                IRepositoryBase <GoodsInfo> GoodsInfoResp = this.m_UnitOfWork.GetRepositoryBase <GoodsInfo>();
                GoodsInfo goodsInfo = GoodsInfoResp.Get(entity.GoodsID);

                goodsInfo.InNum      -= entity.InNum;
                goodsInfo.ContentNum -= entity.InNum;
                goodsInfo.TotalNum   -= entity.InNum;

                goodsInfo.tPrice -= (entity.InNum * entity.InPrice);

                goodsInfo.uPrice = (decimal)goodsInfo.ContentNum > 0 ? ((decimal)goodsInfo.tPrice / (decimal)goodsInfo.ContentNum) : 0;

                GoodsInfoResp.Update(goodsInfo, null);
                base.Delete(entity);

                //添加新的历史记录
                if (s == null)
                {
                    s = new PublicService();
                }
                GoodsInHistory history = new GoodsInHistory();
                history.Builder          = entity.Builder;
                history.BuildTime        = entity.BuildTime;
                history.GoodsID          = entity.GoodsID;
                history.GoodsInIDHistory = entity.ID;
                history.InNum            = entity.InNum;
                history.InPrice          = entity.InPrice;
                history.InTime           = entity.InTime;
                history.Lifecycle        = entity.Lifecycle;
                history.Modifier         = entity.Modifier;
                history.ModifyTime       = entity.ModifyTime;
                history.Operator         = entity.Operator;
                history.Remark           = entity.Remark;
                history.SupplyName       = entity.SupplyName;
                history.TransportName    = entity.TransportName;
                history.action_u         = "删除";
                history.GoodsName        = goodsInfo.GoodsName;
                s.GoodsInHistory.Add(history);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                throw;
            }
        }
Exemple #8
0
        public bool Import(string id)
        {
            using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    bool result = true;

                    ProductRecord          obj     = this.Get(id);
                    ShippingDocument       shipdoc = this.m_UnitOfWork.ShippingDocumentRepository.Get(obj.ShipDocID);
                    ConsMixprop            cm      = this.m_UnitOfWork.ConsMixpropRepository.Get(shipdoc.ConsMixpropID);
                    List <ConsMixpropItem> list    = this.m_UnitOfWork.ConsMixpropItemRepository.Query().Where(m => m.ConsMixpropID == cm.ID && m.Amount > 0).ToList();

                    ThreadID      tid;
                    PublicService ps = new PublicService();
                    foreach (ConsMixpropItem c in list)
                    {
                        ProductRecordItem tmp = new ProductRecordItem();
                        tmp.ActualAmount      = obj.ProduceCube * c.Amount;
                        tmp.TheoreticalAmount = obj.ProduceCube * c.Amount;
                        tmp.SiloID            = c.SiloID;
                        tmp.StuffID           = c.Silo.StuffInfo.ID;
                        tmp.ProductRecordID   = id;
                        tmp.ErrorValue        = 0;
                        tmp.ProductLineID     = obj.ProductLineID;
                        this.m_UnitOfWork.GetRepositoryBase <ProductRecordItem>().Add(tmp);

                        tid             = new ThreadID();
                        tid.currentDate = DateTime.Now;
                        tid.typeID      = tmp.StuffID; //主材id
                        tid.typename    = "0";         //主材
                        ps.ThreadID.Add(tid);
                    }
                    tx.Commit();
                    return(result);
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    logger.Error(ex.Message);
                    throw new Exception(ex.Message);
                }
            }
        }
Exemple #9
0
        public bool CancelAuditing(CustomerPlan plan)
        {
            // var plan = this.Get(id);
            if (plan != null)
            {
                ProduceTask task = new ProduceTask();
                task = this.m_UnitOfWork.GetRepositoryBase <ProduceTask>().Get(plan.TaskID);
                if (task.IsFormulaSend)
                {
                    throw new Exception("单据已下发配比,不能取消审核!");
                }
                else
                {
                    //更新CustomerPlan表记录
                    plan.AuditTime = null;
                    plan.Auditor   = string.Empty;
                    string TaskID = plan.TaskID;
                    plan.TaskID = null;
                    this.Update(plan, null);

                    PublicService ps = new PublicService();
                    if (TaskID != "")
                    {
                        //删除ProducePlan表记录
                        ProducePlan pplan = new ProducePlan();
                        pplan = this.m_UnitOfWork.GetRepositoryBase <ProducePlan>().Query().Where(p => p.TaskID.Contains(TaskID)).OrderByDescending(p => p.ID).FirstOrDefault();
                        if (pplan != null)
                        {
                            ps.GetGenericService <ProducePlan>().Delete(pplan);
                        }
                        //删除ProduceTask表记录
                        if (task != null)
                        {
                            ps.GetGenericService <ProduceTask>().Delete(task);
                        }
                    }

                    return(true);
                }
            }
            return(false);
        }
Exemple #10
0
        public decimal getNumPrice(string id, string price)
        {
            if (ps == null)
            {
                ps = new PublicService();
            }
            //入库
            decimal sumIn = ps.GoodsIn.Query().Where(m => m.GoodsID == id && m.InPrice == Convert.ToDecimal(price)).Sum(p => p.InNum);

            //出库
            //decimal sumOut = this.Query().Where(m => m.GoodsID == id && m.price == Convert.ToDecimal(price)).Sum(p => p.OutNum);
            List <GoodsOut> list   = this.Query().Where(m => m.GoodsID == id && m.price == Convert.ToDecimal(price)).ToList();
            decimal         sumOut = 0.00m;

            foreach (GoodsOut g in list)
            {
                sumOut += g.OutNum;
            }

            return(sumIn - sumOut);
        }
Exemple #11
0
        /// <summary>
        /// 车辆加油--修改
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="form"></param>
        public override void Update(CarOil entity, System.Collections.Specialized.NameValueCollection form)
        {
            using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    //获取油料密度值
                    PublicService ps     = new PublicService();
                    SysConfig     config = ps.SysConfig.GetSysConfig(Model.Enums.SysConfigEnum.OilDensity);
                    if (config == null)
                    {
                        config.ConfigValue = "0";
                    }

                    //entity.TotalPrice = entity.Amount * entity.UnitPrice;
                    entity.KiloMeter = entity.ThisKM - entity.LastKM;

                    decimal newAmount = entity.Amount;
                    var     obj       = this.Get(entity.ID);
                    decimal subAmount = newAmount - obj.Amount * Convert.ToDecimal(config.ConfigValue);

                    base.Update(entity, form);

                    obj.StuffInfo.Inventory -= subAmount;
                    StuffInfoService stuffService = new StuffInfoService(this.m_UnitOfWork);
                    stuffService.Update(obj.StuffInfo, null);

                    obj.Silo.Content -= subAmount;

                    SiloService siloService = new SiloService(this.m_UnitOfWork);
                    siloService.Update(obj.Silo, null);
                    tx.Commit();
                }
                catch
                {
                    tx.Rollback();
                    throw;
                }
            }
        }
Exemple #12
0
        /// <summary>
        /// 车辆加油--增加
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public override CarOil Add(CarOil entity)
        {
            using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    //entity.TotalPrice = entity.Amount * entity.UnitPrice;
                    entity.KiloMeter = entity.ThisKM - entity.LastKM;
                    base.Add(entity);

                    StuffInfoService stuffService = new StuffInfoService(this.m_UnitOfWork);
                    var stuffInfo = stuffService.Get(entity.StuffID);

                    //获取油料密度值
                    PublicService ps     = new PublicService();
                    SysConfig     config = ps.SysConfig.GetSysConfig(Model.Enums.SysConfigEnum.OilDensity);
                    if (config == null)
                    {
                        config.ConfigValue = "0";
                    }
                    //减少库存量(加油量*油料密度)
                    stuffInfo.Inventory -= entity.Amount * Convert.ToDecimal(config.ConfigValue);
                    stuffService.Update(stuffInfo, null);

                    SiloService siloService = new SiloService(this.m_UnitOfWork);
                    var         siloInfo    = siloService.Get(entity.SiloID);
                    siloInfo.Content -= entity.Amount * Convert.ToDecimal(config.ConfigValue);
                    siloService.Update(siloInfo, null);

                    tx.Commit();
                    return(entity);
                }
                catch {
                    tx.Rollback();
                    throw;
                }
            }
        }
Exemple #13
0
        public bool SplitByZT(string id, string sourceShipDocID, decimal sourceCube, string returnType, string returnReason, string[] carIDArr, string[] carCubeArr, string[] actionTypeArr, string tzrFlag, ref string msg)
        {
            lock (obj)
            {
                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        msg = "";
                        PublicService ps = new PublicService();
                        //查看是否符合分车标准
                        TZRalation tz;
                        //for (int i = 0; i < carIDArr.Length; i++)
                        //{
                        //    if (string.IsNullOrEmpty(carIDArr[i]))
                        //        continue;
                        //    ztl = this.Query().Where(p => p.CarID == carIDArr[i] && p.IsCompleted == false && p.IsLock != "2").FirstOrDefault();
                        //    if (ztl != null)
                        //    {
                        //        //存在转退料记录
                        //        decimal sum = (string.IsNullOrEmpty(carCubeArr[i]) ? 0.00m : Convert.ToDecimal(carCubeArr[i])) + ztl.Cube;
                        //        //查找车容重
                        //        Car car = ps.Car.Query().Where(p => p.ID == carIDArr[i]).FirstOrDefault();
                        //        if (car == null)
                        //        {
                        //            msg += "没有找到" + carIDArr[i] + "号车</br>";
                        //            break;
                        //        }
                        //        if (car.MaxCube < sum)
                        //        {
                        //            //不能大于车辆最大容重
                        //            msg += string.Format("{0}车有转退料{1}方,超过了最大容重{2}。</br>", carIDArr[i], ztl.Cube, car.MaxCube);
                        //            break;
                        //        }
                        //        else
                        //        {

                        //        }
                        //    }
                        //}
                        //if (!string.IsNullOrEmpty(msg))
                        //{
                        //    return false;
                        //}



                        //查看是否为完成
                        TZRalation _tz = new TZRalation();
                        _tz.ID = Convert.ToInt32(id);
                        List <TZRalation> list = this.Query().Where(m => m.ID == Convert.ToInt32(id)).ToList();
                        if (list == null || list.Count == 0)
                        {
                            msg += "没有找到转退料信息,请重新刷新。";
                            return(false);
                        }
                        if (list[0].IsCompleted == true)
                        {
                            msg += "不能修改已完成的转退料信息。";
                            return(false);
                        }
                        //if (list[0].IsLock == "1")
                        //{
                        //    msg = "此转退料已锁定。";
                        //    return false;
                        //}
                        if (list[0].IsLock == "2")
                        {
                            msg += "不能修改合车的转退料信息。";
                            return(false);
                        }

                        bool     isSame = false;
                        DateTime ts     = DateTime.Now;
                        for (int i = 0; i < carIDArr.Length; ++i)
                        {
                            decimal sum  = 0.00m;
                            bool    Flag = false;

                            if (!string.IsNullOrEmpty(carIDArr[i]) && !string.IsNullOrEmpty(carCubeArr[i]) && !string.IsNullOrEmpty(actionTypeArr[i]))
                            {
                                tz = null;
                                tz = this.Query().Where(p => p.CarID == carIDArr[i] && p.IsCompleted == false && (p.IsLock != "2" || p.IsLock != "3")).FirstOrDefault();
                                if (tz != null)
                                {
                                    Flag = true;
                                    //存在转退料记录 如果目标车和源车是同一车则不能相加
                                    //if (tz.CarID == carIDArr[i])
                                    if (list[0].CarID == carIDArr[i])
                                    {
                                        //同一车
                                        sum    = string.IsNullOrEmpty(carCubeArr[i]) ? 0.00m : Convert.ToDecimal(carCubeArr[i]);
                                        isSame = true;//同车标识,有同车则不删除老的转退料。
                                    }
                                    else
                                    {
                                        sum = (string.IsNullOrEmpty(carCubeArr[i]) ? 0.00m : Convert.ToDecimal(carCubeArr[i])) + tz.Cube;
                                    }
                                    //查找车容重
                                    Car car = ps.Car.Query().Where(p => p.ID == carIDArr[i]).FirstOrDefault();
                                    if (car == null)
                                    {
                                        msg += "没有找到" + carIDArr[i] + "号车</br>";
                                        break;
                                    }
                                    if (car.MaxCube < sum)
                                    {
                                        //不能大于车辆最大容重
                                        msg += string.Format("{0}车有转退料{1}方,超过了最大容重{2}。</br>", carIDArr[i], tz.Cube, car.MaxCube);
                                        break;
                                    }
                                }
                                else
                                {
                                    tz   = new TZRalation();
                                    sum  = string.IsNullOrEmpty(carCubeArr[i]) ? 0.00m : Convert.ToDecimal(carCubeArr[i]);
                                    Flag = false;
                                }

                                tz.CarID          = carIDArr[i];
                                tz.Cube           = sum;
                                tz.ActionType     = actionTypeArr[i];
                                tz.ActionCube     = tz.Cube;
                                tz.TzRalationFlag = tzrFlag;

                                //tz.SourceShipDocID = sourceShipDocID;
                                //tz.SourceCube = sourceCube;
                                //tz.ReturnType = returnType;

                                //不相等说明这个有转退料 不要动里面的源信息
                                if (tz.SourceShipDocID == list[0].SourceShipDocID)
                                {
                                    //相等说明源不变 不用动
                                }
                                else
                                {
                                    //不想等说明源变化了 不要动

                                    if (string.IsNullOrEmpty(tz.SourceShipDocID))
                                    {
                                        //没有转退料信息的时候给予最初的
                                        tz.SourceShipDocID = list[0].SourceShipDocID;
                                        tz.SourceCube      = list[0].SourceCube;
                                        tz.ReturnType      = list[0].ReturnType;
                                    }
                                }


                                if (tz.ActionType == Model.Enums.ActionType.Reject)
                                {
                                    tz.IsCompleted = true;
                                }
                                else
                                {
                                    tz.IsCompleted = false;
                                }
                                tz.AH           = Model.Enums.Consts.Handle;
                                tz.ReturnReason = returnReason;

                                tz.ActionTime = ts;
                                //tz.ActionCube = string.IsNullOrEmpty(carCubeArr[i]) ? 0.00m : Convert.ToDecimal(carCubeArr[i]); //tz.SourceCube;
                                tz.IsLock = "1";//分车锁定

                                decimal?value;
                                if (string.IsNullOrEmpty(carCubeArr[i]))
                                {
                                    value = null;
                                }
                                else
                                {
                                    value = Convert.ToDecimal(carCubeArr[i]);
                                }

                                if (Flag)
                                {
                                    base.Update(tz, null);

                                    AddHistory(tz, "update", list[0].CarID, value);
                                }
                                else
                                {
                                    base.Add(tz);
                                    AddHistory(tz, "add", list[0].CarID, value);
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(msg))
                        {
                            tx.Rollback();
                            return(false);
                        }

                        //删除老的
                        if (!isSame)
                        {
                            base.Delete(list[0]);
                            AddHistory(list[0], "delete", list[0].CarID, list[0].Cube);
                        }

                        tx.Commit();

                        return(true);
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        logger.Error(e.Message, e);;
                    }
                }
                return(false);
            }
        }
Exemple #14
0
        /// <summary>
        /// 获得报警信息
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="allcars"></param>
        /// <param name="gpsinfos"></param>
        /// <param name="allog"></param>
        /// <returns></returns>
        public List <GPS_CarAlarmInfo> GetAlarams(string tid, IEnumerable <Car> allcars, IEnumerable <LastestGpsInfo> gpsinfos, IEnumerable <AlarmLog> allog)
        {
            List <GPS_CarAlarmInfo> list    = new List <GPS_CarAlarmInfo>();
            LastestGpsInfo          gpsinfo = null;
            var gpsInfos = gpsinfos.Where(exp => exp.TerminalID == tid);

            if (gpsInfos != null && gpsInfos.Count() > 0)
            {
                gpsinfo = gpsInfos.First();
            }
            PublicService ps = new PublicService();

            if (gpsinfo == null)
            {
                SysConfig Gpsconfig = ps.SysConfig.GetSysConfig("Gps");
                if (bool.Parse(Gpsconfig.ConfigValue))
                {
                    GPS_CarAlarmInfo caralarm = new GPS_CarAlarmInfo();
                    caralarm.alarmInfo   = "尚未收到GPS数据!";
                    caralarm.alarmTypeID = "002006";
                    caralarm.alarmTime   = DateTime.Now;
                    list.Add(caralarm);
                }
            }
            else
            {
                SysConfig Gprsconfig = ps.SysConfig.GetSysConfig("Gprs");
                if (bool.Parse(Gprsconfig.ConfigValue) && gpsinfo.Receivetime != null && (DateTime.Compare(gpsinfo.Receivetime.Value.AddHours(2), DateTime.Now) <= 0))
                {
                    GPS_CarAlarmInfo caralarm = new GPS_CarAlarmInfo();
                    caralarm.alarmInfo   = "超过2小时无GPS数据上传!";
                    caralarm.alarmTypeID = "002006";
                    caralarm.alarmTime   = DateTime.Now;
                    list.Add(caralarm);
                }
                else
                {
                    var Tid = gpsinfo.TerminalID; var time = gpsinfo.Sendtime;
                    var cars = allcars.Where(e => e.TerminalID == tid);
                    var car  = cars != null?cars.First() : null;

                    if (car == null)
                    {
                        GPS_CarAlarmInfo caralarm = new GPS_CarAlarmInfo();
                        caralarm.alarmInfo   = "根据终端号未查询到车辆历史gps信息";
                        caralarm.alarmTypeID = "002006";
                        caralarm.alarmTime   = DateTime.Now;
                        list.Add(caralarm);
                    }
                    else
                    {
                        var allogs = allog.Where(e => e.AlarmTime == time && e.CarID.ToString() == car.ID);
                        foreach (var log in allogs)
                        {
                            GPS_CarAlarmInfo caralarm = new GPS_CarAlarmInfo();
                            caralarm.alarmInfo   = log.AlarmData;
                            caralarm.alarmTypeID = log.AlarmTypeID.ToString();
                            caralarm.alarmTime   = log.AlarmTime;
                            list.Add(caralarm);
                        }
                    }
                }
            }

            return(list);
        }
Exemple #15
0
        public string AddPurchase(string[] arry)
        {
            lock (obj)
            {
                string msg = "";//错误信息
                if (arry == null || arry.Length == 0)
                {
                    return(msg = "传递参数为空");
                }

                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        //创建采购子表
                        string       main_id = arry[0];
                        PurchaseMain mainobj = this.m_UnitOfWork.GetRepositoryBase <PurchaseMain>().Query().Where(m => (m.ID).ToString() == main_id).FirstOrDefault();
                        if (mainobj == null)
                        {
                            msg = "找不到编号为" + main_id + "的主表数据";
                            return(msg);
                        }

                        //判断数量
                        if (mainobj.Purchases == null || mainobj.Purchases.Count == 0)
                        {
                        }
                        else
                        {
                            decimal num = 0;
                            for (int i = 0; i < mainobj.Purchases.Count; i++)
                            {
                                num += mainobj.Purchases[i].Purchase_Num;
                            }
                            num += Convert.ToDecimal(arry[1]);
                            if (num > mainobj.Main_Num)
                            {
                                //数量超标了
                                msg = string.Format("采购计划数量{0},本次购买{1},超标{2}", mainobj.Main_Num, Convert.ToDecimal(arry[1]), num - mainobj.Main_Num);
                                return(msg);
                            }
                        }

                        Purchase purchase = new Purchase();
                        purchase.PurchaseMain = mainobj;
                        purchase.Purchase_Num = Convert.ToDecimal(arry[1]);
                        //purchase.Purchase_Num1 = Convert.ToDecimal(arry[18]);
                        purchase.Purchase_Price      = Convert.ToDecimal(arry[2]);
                        purchase.Purchase_Money      = Convert.ToDecimal(arry[3]);
                        purchase.Purchase_ManTel     = arry[4];
                        purchase.Purchase_Man        = arry[5];
                        purchase.Purchase_Date       = Convert.ToDateTime(arry[6]);
                        purchase.Purchase_StickMoney = Convert.ToDecimal(arry[7]);
                        purchase.Purchase_NoMoney    = Convert.ToDecimal(arry[8]);
                        purchase.Purchase_StickNo    = arry[9];
                        purchase.Purchase_State      = 0;//未完成
                        purchase.Remark    = "";
                        purchase.GoodsID   = mainobj.GoodsID;
                        purchase.GoodsName = mainobj.GoodsName;
                        purchase.Main_ID   = (int)mainobj.ID;
                        //purchase.Purchase_Num1 = 0.00m;
                        this.Add(purchase);


                        //创建合同表
                        PurchaseContract purchaseContract = new PurchaseContract();
                        purchaseContract.Purchase = purchase;
                        purchaseContract.PurchaseContract_Name      = arry[10];
                        purchaseContract.PurchaseContract_SupplyTel = arry[11];
                        purchaseContract.PurchaseContract_Supply    = arry[12];
                        purchaseContract.PurchaseContract_Price     = Convert.ToDecimal(arry[2]);
                        purchaseContract.PurchaseContract_Num       = Convert.ToDecimal(arry[1]);
                        purchaseContract.PurchaseContract_Money     = Convert.ToDecimal(arry[3]);
                        purchaseContract.PurchaseContract_One       = arry[13];
                        purchaseContract.PurchaseContract_Tow       = arry[14];
                        purchaseContract.PurchaseContract_Date      = Convert.ToDateTime(arry[15]);
                        purchaseContract.PurchaseContract_StartDate = Convert.ToDateTime(arry[16]);
                        purchaseContract.PurchaseContract_EndDate   = Convert.ToDateTime(arry[17]);
                        purchaseContract.GoodsID     = mainobj.GoodsID;
                        purchaseContract.GoodsName   = mainobj.GoodsName;
                        purchaseContract.Purchase_ID = (int)purchase.ID;
                        purchaseContract.PurchaseContract_SupplyTel1 = arry[18];
                        purchaseContract.PurchaseContract_Supply1    = arry[19];
                        purchaseContract.PurchaseContract_SupplyID   = arry[20];
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        ps.PurchaseConstract.Add(purchaseContract);

                        tx.Commit();
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
                return(msg);
            }
        }
Exemple #16
0
        public string InGoods(string id, decimal num)
        {
            lock (obj)
            {
                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        Purchase p = this.Get(Convert.ToInt32(id));
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        //数量累加
                        PurchaseMain pm = p.PurchaseMain;
                        if (pm == null)
                        {
                            tx.Rollback();
                            return("找不到PurchaseMain数据。");
                        }
                        pm.Main_num1 += num;
                        ps.PurchaseMain.Update(pm);

                        //修改数量

                        if (p == null)
                        {
                            return("找不到ID为" + id + "的信息");
                        }
                        if (p.Purchase_Num < p.Purchase_Num1 + num)
                        {
                            return("超过额定量");
                        }
                        if (p.Purchase_State == 1)
                        {
                            return("任务已经完成");
                        }
                        p.Purchase_Num1 += num;
                        if (p.Purchase_Num == p.Purchase_Num1)//满表示完成了
                        {
                            p.Purchase_State = 1;
                            if (p.PurchaseContracts != null)
                            {
                                //更新合同完成
                                p.PurchaseContracts[0].PurchaseContract_state = 1;
                                this.ps.PurchaseConstract.Update(p.PurchaseContracts[0]);
                            }
                        }
                        this.Update(p);

                        //入库存 AddByPurchase方法有写库存
                        //GoodsInfo ginfo = this.m_UnitOfWork.GetRepositoryBase<GoodsInfo>().Query().Where(m => m.ID == p.GoodsID).FirstOrDefault();
                        //if (ginfo == null)
                        //{
                        //    tx.Rollback();
                        //    return "找不到" + p.GoodsID + "的物资";
                        //}
                        //ginfo.ContentNum += num;
                        //this.ps.GoodsInfo.Update(ginfo);

                        //入库信息
                        GoodsIn gIn = new GoodsIn();
                        gIn.GoodsID       = p.GoodsID;
                        gIn.InNum         = num;
                        gIn.SupplyName    = p.PurchaseContracts[0].PurchaseContract_Supply;
                        gIn.InPrice       = p.Purchase_Price;
                        gIn.InTime        = DateTime.Now;
                        gIn.Operator      = AuthorizationService.CurrentUserID;
                        gIn.TransportName = p.PurchaseContracts[0].PurchaseContract_Supply1;
                        if (p.PurchaseContracts != null)
                        {
                            //添加合同
                            gIn.PurchaseContract_ID   = p.PurchaseContracts[0].ID;
                            gIn.PurchaseContract_Name = p.PurchaseContracts[0].PurchaseContract_Name;
                        }
                        this.ps.GoodsIn.AddByPurchase(gIn);

                        tx.Commit();
                        return("");
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
            }
        }
Exemple #17
0
        public string UpdatePurchase(string[] arry)
        {
            lock (obj)
            {
                string msg = "";//错误信息
                if (arry == null || arry.Length == 0)
                {
                    return(msg = "传递参数为空");
                }

                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        Purchase purchase = this.Get(Convert.ToInt32(arry[0]));
                        if (purchase == null)
                        {
                            msg = "找不到编号为" + arry[0] + "的子表数据";
                            return(msg);
                        }
                        //创建采购子表
                        if (purchase.PurchaseMain == null)
                        {
                            msg = "找不到主表数据";
                            return(msg);
                        }
                        PurchaseMain mainobj = purchase.PurchaseMain;

                        //判断数量
                        if (mainobj.Purchases == null || mainobj.Purchases.Count == 0)
                        {
                        }
                        else
                        {
                            decimal num = 0;
                            for (int i = 0; i < mainobj.Purchases.Count; i++)
                            {
                                if (mainobj.Purchases[i].ID.ToString() != arry[0])
                                {
                                    num += mainobj.Purchases[i].Purchase_Num;
                                }
                            }
                            num += Convert.ToDecimal(arry[1]);
                            if (num > mainobj.Main_Num)
                            {
                                //数量超标了
                                msg = string.Format("采购计划数量{0},本次购买{1},超标{2}", mainobj.Main_Num, Convert.ToDecimal(arry[1]), num - mainobj.Main_Num);
                                return(msg);
                            }
                        }

                        purchase.Purchase_Num        = Convert.ToDecimal(arry[1]);
                        purchase.Purchase_Price      = Convert.ToDecimal(arry[2]);
                        purchase.Purchase_Money      = Convert.ToDecimal(arry[3]);
                        purchase.Purchase_ManTel     = arry[4];
                        purchase.Purchase_Man        = arry[5];
                        purchase.Purchase_Date       = Convert.ToDateTime(arry[6]);
                        purchase.Purchase_StickMoney = Convert.ToDecimal(arry[7]);
                        purchase.Purchase_NoMoney    = Convert.ToDecimal(arry[8]);
                        purchase.Purchase_StickNo    = arry[9];
                        //purchase.Purchase_Num1 = Convert.ToDecimal(arry[18]);
                        this.Update(purchase);


                        //合同表
                        if (purchase.PurchaseContracts == null || purchase.PurchaseContracts.Count == 0)
                        {
                            msg = "找不到合同数据!";
                            tx.Rollback();
                            return(msg);
                        }
                        PurchaseContract purchaseContract = purchase.PurchaseContracts[0];
                        purchaseContract.PurchaseContract_Name       = arry[10];
                        purchaseContract.PurchaseContract_SupplyTel  = arry[11];
                        purchaseContract.PurchaseContract_Supply     = arry[12];
                        purchaseContract.PurchaseContract_SupplyTel1 = arry[18];
                        purchaseContract.PurchaseContract_Supply1    = arry[19];
                        purchaseContract.PurchaseContract_Price      = Convert.ToDecimal(arry[2]);
                        purchaseContract.PurchaseContract_Num        = Convert.ToDecimal(arry[1]);
                        purchaseContract.PurchaseContract_Money      = Convert.ToDecimal(arry[3]);
                        purchaseContract.PurchaseContract_One        = arry[13];
                        purchaseContract.PurchaseContract_Tow        = arry[14];
                        purchaseContract.PurchaseContract_Date       = Convert.ToDateTime(arry[15]);
                        purchaseContract.PurchaseContract_StartDate  = Convert.ToDateTime(arry[16]);
                        purchaseContract.PurchaseContract_EndDate    = Convert.ToDateTime(arry[17]);
                        purchaseContract.PurchaseContract_SupplyID   = arry[20];
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        ps.PurchaseConstract.Update(purchaseContract);

                        tx.Commit();
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
                return(msg);
            }
        }
        public void SendModifiedPBToKZ(ConsMixprop entity, string[] DirtyDataArr)
        {
            using (var tx = this.m_UnitOfWork.BeginTransaction())
            {
                try
                {
                    if (DirtyDataArr != null)
                    {
                        ////先保存子表数据,只用到编号与数量
                        string        is2012   = "";
                        Synmonitor    synTable = null;
                        PublicService op       = null;

                        foreach (string DirtyData in DirtyDataArr)
                        {
                            string[] dirty = DirtyData.Split(',');
                            ConsMixpropItemService consMixpropItemservice = new ConsMixpropItemService(this.m_UnitOfWork);
                            ConsMixpropItem        item = consMixpropItemservice.Get(Convert.ToInt32(dirty[0]));
                            item.Amount = Convert.ToDecimal(dirty[1]);
                            consMixpropItemservice.Update(item, null);

                            is2012 = ConfigurationManager.AppSettings["Is2012"];
                            if (is2012 == "true")
                            {
                                //是2012工控则插入同步表
                                synTable               = new Synmonitor();
                                synTable.tb_name       = "view_ConsMixpropItems";
                                synTable.tb_action     = "UPDATE";
                                synTable.key_name      = "ConsMixpropID";
                                synTable.key_value     = dirty[0];
                                synTable.key_type      = "0";
                                synTable.action_time   = DateTime.Now;
                                synTable.ProductLineID = item.ConsMixprop.ProductLineID;
                                if (op == null)
                                {
                                    op = new PublicService();
                                }
                                op.Synmonitor.Add(synTable);
                            }
                        }
                    }
                    IConsMixpropItemRepository IConItems = this.m_UnitOfWork.ConsMixpropItemRepository;
                    IList <ConsMixpropItem>    citems    = IConItems.Query().Where(m => m.ConsMixpropID == entity.ID).ToList();
                    decimal totolWeight = 0;
                    foreach (ConsMixpropItem citem in citems)
                    {
                        totolWeight = totolWeight + citem.Amount;
                    }
                    ConsMixprop cons = this.Get(entity.ID);
                    cons.SynStatus = entity.SynStatus;
                    base.Update(cons, null);
                    entity = this.Get(entity.ID);
                    SysConfigService configService = new SysConfigService(this.m_UnitOfWork);
                    SysConfig        config        = configService.GetSysConfig(SysConfigEnum.IsAllowConsMixpropLimit);
                    if (!entity.IsSlurry)
                    {
                        SysConfig configFormulaRZMax = configService.GetSysConfig(SysConfigEnum.FormulaRZMax);
                        SysConfig configFormulaRZMin = configService.GetSysConfig(SysConfigEnum.FormulaRZMin);
                        decimal   dFormulaRZMax      = decimal.Parse(configFormulaRZMax.ConfigValue);
                        decimal   dFormulaRZMin      = decimal.Parse(configFormulaRZMin.ConfigValue);
                        decimal   weight             = entity.Weight ?? 0;
                        if (config != null && bool.Parse(config.ConfigValue) && entity.ProduceTask.CementType == Model.Enums.CementType.CommonCement)
                        {
                            if (totolWeight > dFormulaRZMax || totolWeight < dFormulaRZMin)
                            {
                                throw new Exception("混凝土配比超出容重范围");
                            }
                            string measureError = CheckMesureScale(entity.TaskID, entity.ProductLineID, 0, 0, true, false);
                            if (!string.IsNullOrEmpty(measureError))
                            {
                                throw new Exception(measureError);
                            }
                        }
                    }
                    else
                    {
                        if (config != null && bool.Parse(config.ConfigValue) && entity.ProduceTask.CementType == Model.Enums.CementType.CommonCement)
                        {
                            string measureError = CheckMesureScale(entity.TaskID, entity.ProductLineID, 0, 0, false, true);
                            if (!string.IsNullOrEmpty(measureError))
                            {
                                throw new Exception(measureError);
                            }
                        }
                    }
                    if (entity.SynStatus == 1)      //发送配比
                    {
                        /*//直连:通知控制系统修改配比
                         * by:Sky 2013/3/17
                         *****************************************************************************/
                        IList <ConsMixpropItem> cmItems = this.m_UnitOfWork.GetRepositoryBase <ConsMixpropItem>().All("ConsMixpropID='" + entity.ID + "'", "ID", true);
                        ResultInfo result = controlSystem.UpdateConsMixprop(entity, cmItems);
                        if (!result.Result)       //配比没有发送成功
                        {
                            throw new Exception(result.Message);
                        }
                    }
                    tx.Commit();
                }
                catch (Exception e)
                {
                    tx.Rollback();
                    throw e;
                }
            }
        }
        public dynamic GetLastDocByTaskId(string taskid)
        {
            ShippingDocument doc = this.Find("TaskID = '" + taskid + "' AND IsEffective = 1 AND ShipDocType = '0'", 1, 1, "ID", "DESC").FirstOrDefault();

            //已下配比生产线判断不全面,如1#线下了混凝土配比,2#线只下了砂浆配比,搅拌机组下拉框中只有有1#线
            //只有砂浆配比的情况,只要判断IsSlurry = 0的数量是否为0
            //IList<ConsMixprop> phblistcount = this.m_UnitOfWork.ConsMixpropRepository.Find("TaskID = '" + taskid + "' AND IsSlurry = 0", 1, 30, "ProductLineID", "ASC");
            //IList<ConsMixprop> phblist = null;
            //if (phblistcount.Count == 0)
            //{
            //    phblist = this.m_UnitOfWork.ConsMixpropRepository.Find("TaskID = '" + taskid + "' AND AuditStatus = 1 ", 1, 30, "ProductLineID", "ASC");
            //}
            //else {
            //    phblist = this.m_UnitOfWork.ConsMixpropRepository.Find("TaskID = '" + taskid + "' AND AuditStatus = 1 AND IsSlurry = 0", 1, 30, "ProductLineID", "ASC");
            //}

            IList <ConsMixprop> phblist = null;

            phblist = this.m_UnitOfWork.ConsMixpropRepository.Find("TaskID = '" + taskid + "' AND AuditStatus = 1 ", 1, 30, "ProductLineID", "ASC");

            IList <string>      pdlist        = phblist.Select(p => p.ProductLineID).Distinct().ToList();
            IList <ProductLine> productlines  = null;
            SysConfigService    configService = new SysConfigService(this.m_UnitOfWork);

            if (pdlist.Count > 0)
            {
                productlines = this.m_UnitOfWork.GetRepositoryBase <ProductLine>()
                               .Query().Where(p => p.IsUsed && pdlist.Contains(p.ID))
                               .OrderBy(p => p.ID).ToList();
                //获取所有未完成的单
                IList <DispatchList> dispatchList = this.m_UnitOfWork.GetRepositoryBase <DispatchList>()
                                                    .Query().Where(d => d.IsCompleted == false).OrderBy(d => d.DispatchOrder).ToList();

                //计算预计发车时间
                //SysConfig delayConfig = this.m_UnitOfWork.GetRepositoryBase<SysConfig>()
                //    .Find("ConfigName = 'DelayDeliveryTime'", 1, 1, "ID", "DESC").FirstOrDefault();
                SysConfig delayConfig = configService.GetSysConfig(SysConfigEnum.DelayDeliveryTime);

                int delayTime = delayConfig == null ? 8 : Convert.ToInt32(delayConfig.ConfigValue);//未找到参数,默认8
                foreach (ProductLine item in productlines)
                {
                    string id    = item.ID;
                    int    count = dispatchList.Where(d => d.ProductLineID == id).ToList().Count + 1;
                    //将预计发车时间赋值给productline的modifytime
                    int      delayMinute  = count * delayTime;
                    DateTime deliveryTime = DateTime.Now.AddMinutes(delayMinute);
                    item.ModifyTime = deliveryTime;
                }
            }
            //自动选中车辆
            SysConfig config        = configService.GetSysConfig(Model.Enums.SysConfigEnum.AutoSelectCarID);
            bool      autoSelectCar = config == null ? true : Convert.ToBoolean(config.ConfigValue);
            string    autoCarID     = string.Empty;

            if (autoSelectCar)
            {
                Car         crtCar  = null;
                IList <Car> carList = this.m_UnitOfWork.GetRepositoryBase <Car>().Query()
                                      .Where(p => p.CarStatus == CarStatus.AllowShipCar && p.CarTypeID == CarType.Mixer && p.IsUsed)
                                      .OrderBy(p => p.OrderNum).OrderBy(p => p.ID).ToList();
                SysConfig carLendFilterConfig = configService.GetSysConfig(Model.Enums.SysConfigEnum.IsCarLendFilter);
                if (carLendFilterConfig != null && carLendFilterConfig.ConfigValue == "true")
                {
                    var carLendList = new CarLendItemService(this.m_UnitOfWork).All("BackTime is null", "ID", true).Select(c => c.CarID);
                    crtCar = carList.Where(p => !carLendList.Contains(p.ID)).FirstOrDefault();
                }
                else
                {
                    crtCar = carList.FirstOrDefault();
                }
                if (crtCar != null)
                {
                    autoCarID = crtCar.ID;
                }
            }

            CustomerPlan cp = new CustomerPlan();


            cp = new PublicService().CustomerPlan.Query().Where(m => m.TaskID == taskid).FirstOrDefault();


            return(new {
                Result = true
                , Message = string.Empty
                , Remark = doc == null ? string.Empty : (doc.Remark != null && doc.Remark.IndexOf("CODEADD") >= 0 ? doc.Remark.Remove(doc.Remark.IndexOf("CODEADD")) : doc.Remark)

                           //,PumpName = doc == null ? string.Empty : doc.PumpName
                , PumpName = doc == null ? (cp == null?string.Empty:cp.PumpName) : doc.PumpName
                ,
                PumpMan = doc == null? (cp == null ? string.Empty : cp.PumpMan):doc.PumpMan

                , ProvidedCube = doc == null ? 0 : doc.ProvidedCube
                , PlanCube = doc == null ? 0 : doc.PlanCube
                             //累计车数
                , ProvidedTimes = doc == null ? 0 : doc.ProvidedTimes
                             //生产线
                , ProductLines = productlines
                             //自动选中的车辆
                , AutoCarID = autoCarID
            });
        }
Exemple #20
0
        /// <summary>
        /// 插入历史数据
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="operation"></param>
        /// <param name="opertionnum">真实源车车号</param>
        /// <param name="num">方量</param>
        public void AddHistory(TZRalation entity, string operation, string opertionnum, decimal?operationcube)
        {
            //插入历史数据
            TZRalationHistory history = new TZRalationHistory();

            history.ActionCube  = entity.ActionCube;
            history.ActionTime  = entity.ActionTime;
            history.ActionType  = entity.ActionType;
            history.AH          = entity.AH;
            history.Auditor     = entity.Auditor;
            history.AuditTime   = entity.AuditTime;
            history.Builder     = entity.Builder;
            history.BuildTime   = entity.BuildTime;
            history.CarID       = entity.CarID;
            history.CarWeight   = entity.CarWeight;
            history.Cube        = entity.Cube;
            history.DealMan     = entity.DealMan;
            history.DealTime    = entity.DealTime;
            history.Driver      = entity.Driver;
            history.DriverUser  = entity.DriverUser;
            history.Exchange    = entity.Exchange;
            history.ID          = entity.ID;
            history.IsAudit     = entity.IsAudit;
            history.IsCompleted = entity.IsCompleted;

            if (operation == "delete")
            {
                history.IsLock = "-1";
            }
            else
            {
                history.IsLock = entity.IsLock;
            }

            history.Lifecycle         = entity.Lifecycle;
            history.Modifier          = entity.Modifier;
            history.ModifyTime        = entity.ModifyTime;
            history.ReturnReason      = entity.ReturnReason;
            history.ReturnType        = entity.ReturnType;
            history.ShippingDocument  = entity.ShippingDocument;
            history.ShippingDocuments = entity.ShippingDocuments;
            //history.SourceCarID = entity.SourceCarID;
            //history.SourceConStrength = entity.SourceConStrength;
            history.SourceCube = entity.SourceCube;
            //history.SourceProjectName = entity.SourceProjectName;
            history.SourceShipDocID        = entity.SourceShipDocID;
            history.SourceShippingDocument = entity.SourceShippingDocument;
            //history.TargetConStrength = entity.TargetConStrength;
            //history.TargetProjectName = entity.TargetProjectName;
            history.TargetShipDocID        = entity.TargetShipDocID;
            history.TargetShippingDocument = entity.TargetShippingDocument;
            history.TotalWeight            = entity.TotalWeight;
            history.Version        = entity.Version;
            history.Weight         = entity.Weight;
            history.ParentID       = entity.ID;
            history.operation      = operation;
            history.operationnum   = opertionnum;
            history.operationcube  = operationcube;
            history.TzRalationFlag = entity.TzRalationFlag;

            s = (s == null ? (new PublicService()) : s);
            s.TZRalationHistory.Add(history);
        }